spring IoC/DI
一、spring创建对象的三种方式:
1、通过构造方法创建
-
无参构造创建:默认情况
-
有参构造创建:需要明确配置
-
<constructor-arg>中配置
-
index:参数索引
-
name:参数名
-
type:参数类型(区分基本数据类型和包装类)
-
value:指定参数值
-
ref:指定参数值为另一个bean
-
如果匹配多个构造方法,则执行最后一个
2、实例工厂(需要创建工厂实例)
-
配置工厂对象和需要创建的对象
-
<bean id="factory" class=""></bean>:配置工厂对象
-
<bean id="" factory-bean="factory" factory-method=""></bean>:配置需要创建的对象
3、静态工厂(需要静态的创建实例的方法)
-
只配置需要创建的对象
-
<bean id="" class="" factory-method=""></bean>:配置需要创建的对象
二、如何给bean的属性赋值(注入)
1、通过构造方法设置值
2、设置注入(通过set方法)
-
<property name=""></property>
三、IoC和DI
-
IoC(Inversion of Control):控制反转
-
把创建对象这一步骤交给spring容器来完成。
-
DI(Dependency Injection):依赖注入
-
把一个对象实例化后注入给另一个对象的过程。(通过ref="beanID"实现)