1、bean元素
Bean元素:使用该元素描述需要spring容器管理的对象
(1)class属性:被管理对象的完整类名.
(2)name属性:给被管理的对象起个名字.获得对象时根据该名称获得对象.
可以重复.可以使用特殊字符.
(3)id属性: 与name属性一模一样.
名称不可重复.不能使用特殊字符.
结论: 尽量使用name属性.
(4)scope属性
singleton(默认值):单例对象.被标识为单例的对象在spring容器中只会存在一个实例
prototype:多例原型.被标识为多例的对象,每次再获得才会创建.每次创建都是新的对象.整合struts2时,ActionBean必须配置为多例的.
request:web环境下.对象与request生命周期一致.
session:web环境下,对象与session生命周期一致.
(5)生命周期属性
配置一个方法作为生命周期初始化方法.spring会在对象创建之后立即调用.
配置一个方法作为生命周期的销毁方法.spring容器在关闭并销毁所有容器中的对象之前调用.
<bean name="user" class="club.ityuchao.domain.User" scope="singleton" init-method="init" destroy-method="destroy">
</bean>
2、Spring创建对象的方式
(1)空参构成
<bean name="user" class="club.ityuchao.domain.User"></bean>
(2)静态工程(了解)
调用静态方法,返回对象
<bean name="user2" class="club.ityuchao.domain.UserFactory" factory-method="createUser"></bean>
public class UserFactory {
public static User createUser() {
System.out.println("静态工厂创建User");
return new User();
}
}
(3)实例工程(了解)
创建实例,调用方法,返回对象
<bean name="user3" factory-bean="userFactory" factory-method="createUser3"></bean>
<bean name="userFactory" class="club.ityuchao.domain.UserFactory"></bean>
public class UserFactory {
public User createUser3() {
System.out.println("实例工厂创建User");
return new User();
}
}
3、分模块配置
<import resource="club/ityuchao/test/applicationContext.xml"/>