spring ioc
理解:ioc是控制反转,把bean的创建交给spring,降低程序的耦合
创建bean的三种方式:
- 使用默认的构造方法
- 工厂类的方法
- 工厂类的静态方法
bean的作用域:
spring默认创建单例模式,生命周期与spring bean容器一致,容器创建时加载所有bean
如果使用多例,使用时才会创建。
bean的依赖注入的方式:
- 构造方法
<bean id = "instanceFactory" class="com.itheima.InstanceFactory">
<constructor-arg name="name" value="test"/>
<constructor-arg name="age" value="12"/>
<constructor-arg name="birthday" ref="now"/>
</bean> <!-- 无参构造 -->
<bean id = "now" class="java.util.Date"/>
构造方法注入:如果构造方法有参数使用标签
标签中的属性:
type:参数的类型
index:参数索引
name:参数名
value:参数值
ref:参数为其他对象(非基础数据类型时),必须是spring管理的bean对象
- set函数
<!-- set方法注入
涉及的标签:property
出现的位置:bean标签的内部
标签的属性:
name:set的方法名称
value:基本数据类型参数的值
ref:其他bean类型数据,指的是spring的Ioc核心容器中出现过的bean对象
优势: 创建对象没有明确的限制,可以直接使用默认构造函数
-->
<bean id = "instanceFactory" class="com.itheima.InstanceFactory">
<property name="name" value="wangfan"/>
<property name="age" value="11"/>
<property name="data" value="now"/>
</bean>> <!-- 无参构造 -->
<bean id = "now" class="java.util.Date"/>
- 注解注入