一、依赖注入(DI):分自动和手动两种方式:下面来介绍下手动的方式
1.通过set方法注入:在bean中提供属性的set方法,并在applicationContext.xml中配置,通过
<property name=”” ref=”” | value=”” >
2.通过构造器:通过构造方法带参数的方式注入,在applicationContext.xml中注入的方法为<constructor-arg index=””(下标由0开始) ref=”” | value=””/>
也可以通过类型类注入:<constructor-arg type=”” value=””/>
3.通过注解的方式注入:@Autowired 或 @Resource注解:
@Autowired是spring的注解;@Resource 是jdk1.5之后提供的
@Autowired默认是通过Class来找;@Resource通过name查找,如果没找到再通过class类型查找
使用注解注入则无需在spplicationContext.xml中进行配置
二、bean的延迟加载,有两种配置方式:
局部配置:在<bean>中添加lazy-init="default"
全局配置:在<beans>中添加default-lazy-init="false"
三、实例化bean的三种方法:
1.使用构造器来实例化:所以默认要提供不带参数的构造器
2.使用静态工厂方法实例化:
<bean id="personService" class="cn.service.OrderFactory" factory-method="createOrder"/> public class OrderFactory { public static OrderServiceBean createOrder(){ return new OrderServiceBean(); } }
3.使用实例化工厂方法实例化:
<bean id="personServiceFactory" class="cn.itcast.service.OrderFactory"/> <bean id="personService" factory-bean="personServiceFactory" factory-method="createOrder"/>
第2、3种方法不常用