- BeanFactory是IoC容器的顶层接口,初始化BeanFactory对象时,加载的Bean延迟加载
- ApplicationContext接口是Spring容器的核心接口,初始化时Bean立即加载
- ApplicationContext接口提供基础的Bean操作相关方法,通过其他接口扩展其功能
- ApplicationContext接口常用初始化类
- ClassPathXmlApplicationContext
- FileSystemXmlApplicationContext
<bean
id="bookDao" bean的Id
name="dao bookDaoImpl daoImpl" bean的别名
class="com.xxx.dao.impl.BookDaoImpl" bean类型,静态工厂类,FactoryBean类
scope="singleton" 控制bean的实例数量
init-method="init" 生命周期初始化方法
destroy-method="destroy" 生命周期销毁方法
autowire="byType" 自动装配类型
factory-method="getInstance" bean工厂方法,应用于静态工厂或实例工厂
factory-bean="com.xxx.factory.BookDaoFactory" 实例工厂bean
lazy-init="true" 控制bean延迟加载
/>
<bean id="bookService" class="com.xxx.service.impl.BookServiceImpl">
<constructor-arg name="bookDao" ref="bookDao"/> 构造器注入引用类型
<constructor-arg name="userDao" ref="userDao"/>
<constructor-arg name="msg" ref="WARN"/> 构造器注入简单类型
<constructor-arg name="java.lang.String" index="3" value="WARN"/> 类型匹配与索引匹配
<property name="bookDao" ref="bookDao"/> setter注入引用类型
<property name="userDao" ref="userDao"/>
<property name="msg" ref="WARN"/> setter注入简单类型
<property name="names"> setter注入集合类型
<list> list集合
<value>itcast</value> 集合注入简单类型
<ref bean="dataSource"/> 集合注入引用类型
</list>
</property>
</bean>