bean标签的属性
1 、基础属性
<bean id="userDao" class="com.itheima.dao.impl.UserDaoImpl"></bean>
id : 在容器中唯一
class : 类全路径
2、scope :对象作用范围
singleton :单例 默认
prototype : 多例
request :
session :
globalSession :
3、bean的初始方法和销毁方法 标签属性
init-method :初始化方法 在创建对象时执行
destroy-method : 销毁方法 在对象销毁时执行
接口:
public void init();
public void destroy();
实现类:
public void init() {
System.out.println("init ......");
}
public void destroy() {
System.out.println("destroy ....");
}
spring容器文件:
<bean id="userDao" class="com.itheima.dao.impl.UserDaoImpl" init-method="init" destroy-method="destroy"></bean>
测试:
@Test
public void initAndDestroyTest(){
//加载容器
ClassPathXmlApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml");
app.destroy();//容器销毁方法
}
结果:
3、spring bean 生命周期:
bean 标签的scope属性:
singleton :单例 默认 加载容器中时,创建对象,整个容器只创建一个对象,容器销毁时bean销毁
prototype : 多例 加载容器时不创建对象,获取时创建对象,有java虚拟机的垃圾回收机制销毁