IOC容器的概念
是一种设计思想 ,
在程序代码中
主动
new
对象
的方式,转变为由工厂类创建并且提供给我们,我们使用的时候从工厂中去取,
变成被动接收的方式,称为控制反转
oC
(
Inversion Of Control
)
工厂就是负责创建对象,并且把对象放到容器中。在使用的时候,帮助我们从容器获取指定的对象。
创建IOC四种方式
1.ClassPathXmlApplicationContext 根据配置文件类路径方式创建
* 介绍:根据类路径加载配置解析文件创建IOC容器对象
* 写法:new ClassPathXmlApplicationContext("类路径下的配置文件")
2.FileSystemXmlApplicationContext 绝对路径方式创建
* 介绍:根据绝路路径下的配置解析文件创建IOC容器对象
3.AnnotationConfigApplicationContext 根据注解配置类创建IOC容器【springBoot源码方式】
4.BeanFactory 淘汰的根据类路径配置文件创建IOC容器对象,spring3.0之前使用的方式
bean标签的属性
bean的生命周期
DI依赖注入
DI 依赖注入的概念
DI
(
Dependency Injection
)依赖注入,就是从
spring
容器中取出相应的资源给对象注入
简单理解:依赖注入就是由
Spring
创建对象,并且给成员变量赋值。
依赖注入的两种方式
构造器注入
set
注入
p
命名空间注入
(
本质上还是
set
注入
)
构造器注入
名称:
constructor-
arg
类型:
标签
归属:
bean
标签
作用:使用构造方法的形式为
bean
提供资源,兼容早期遗留系统的升级工作
格式:<bean>
<constructor-arg />
</bean>
注意:一个bean可以有多个constructor-arg标签
constructor-arg标签的属性
set注入(主流)
名称:
property
类型:
标签
归属:
bean
标签
作用:使用
set
方法的形式为
bean
提供资源
格式:<bean>
<property />
</bean>
注意:一个bean可以有多个property标签
set注入(p空间)
名称:
property
类型:
标签
归属:
bean
标签
作用:使用
set
方法的形式为
bean
提供资源
格式: < bean p: 属性名 1= 值 1 p: 属性名 2= 值 2... />
注意:p空间的方式底层也是依赖了setter方法
p名称空间作用:简化set方法注入的配置, 简化<property>配置。
使用:
-
先引入p名称空间
xmlns:p="http://www.springframework.org/schema/p"
-
使用它
格式:<bean p:属性名1=值1 p:属性名2=值2... />