一、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"实现)
-