发表于: 2017-12-18 23:06:48

2 654


20171218

今天完成的事情:

学习IOC & DI 

IOC 思想,通过DI实现。

什么是依赖注入?

https://www.zhihu.com/question/23277575

没用依赖注入的时候,怎么写?这样写造成什么问题?

依赖注入怎么解决这些问题?

A依赖类B(在类A中使用了类B),把类B作为参数对象,注入到(传递给)A的构造器。

IOC 容器 BeanFactory & ApplicationContext 

BeanFactory:

IOC 容器的基本实现,一个接口。

ApplicationContext:

提供了更多的高级特性. BeanFactory 的子接口.

BeanFactory Spring 框架的基础设施,面向 Spring 本身;ApplicationContext 面向使用 Spring 框架的开发者,几乎所有的应用场合都直接使用 ApplicationContext 而非底层的 BeanFactory

无论使用何种方式, 配置文件时相同的。

ClassPathXmlApplicationContext:从类路径下加载配置文件

FileSystemXmlApplicationContext: 从文件系统中加载配置文件

                                             

ConfigurableApplicationContext

ApplicationContext 继承下来,新增加两个主要方法:refresh() close() ApplicationContext具有启动、刷新和关闭上下文的能力。

上图有省略。

spring配置 bean

配置形式:基于 XML 文件的方式;基于注解的方式

学习了基于XML文件来配置bean,(还没学注解方式配置bean:

Bean 的配置方式:通过全类名(反射)、通过工厂方法(静态工厂方法 & 实例工厂方法)、FactoryBean

依赖注入的方式:属性注入;构造器注入;工厂方法注入

属性注入

就是helloworld项目中的写法,通过settet方法注入:

使用 <property> 元素, 使用 name 属性指向setter方法,value 属性或 <value> 子节点指定属性值

Class
 
写好 setter方法
 
 

xml文件配置bean
  name
属性对应setter方法,传入参数为value属性

是实际应用中最常用的注入方式。

构造器注入

<constructor-arg> 元素里声明属性:

新建class springTest\helloworld\src\main\java\com\bpzj\task1\Car.java

Class
 
写好 构造器
 
这里重载了构造器
 
 

xml文件配置bean
  <constructor-arg>
元素

 

怎么选择注入方式?

获取Bean实例

注入时的问题:字面值、bean之间相互引用(ref配置和内部bean、级联属性

 

明天计划的事情:

bean相关内容:自动装配;关系:继承;依赖;作用域:singletonprototypeWEB 环境作用域

Bean 的生命周期

注解方式配置bean

看看 jdbcTemplate,试试连接数据库

遇到的问题:

今天没遇到大问题,报错有一两个,是写错了单词,改好就没问题。

收获:

学习spring,搞懂IOCBean等概念,学习bean详细配置。



返回列表 返回列表
评论

    分享到