钓鱼网站排名假冒建设银行最多外包网络推广公司推广网站
生命周期:从创建到消亡的完整过程
-
初始化容器
1. 创建对象(内存分配 )
2. 执行构造方法
3. 执行属性注入(set操作)
4. 执行bean初始化方法 -
使用bean
- 执行业务操作
-
关闭/销毁容器
1.执行bean销毁方法 -
bean销毁时机
-
容器关闭前触发bean的销毁
-
关闭容器方式:
- 手工关闭容器
ClassPathXmlApplicationContext接口close()操作
- 注销关闭钩子,在虚拟机退出前先关闭容器再退出虚拟机
ClassPathXmlApplicationContext接口registerShutdownHook()操作
public static void main(String[] args) {//获取ioc容器ClassPathXmlApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext.xml");//获取beanctx.registerShutdownHook();BookDao bookDao=(BookDao) ctx.getBean("bookDao");bookDao.save();// ctx.close();}
}
bean生命周期:bean从创建到销毁的整体过程
bean生命周期控制:在bean创建后到销毁前做一些事情
提供生命周期控制方法
public class BookDaoimpl implements BookDao {public void save(){System.out.println("user dao save...");}//表示bean初始化对应的操作public void init(){System.out.println("init...");}//表示bean销毁前对应的操作public void destory(){System.out.println("destory...");}}
配置生命周期控制方法
<bean id="bookDao" class="com.dao.impl.BookDaoimpl" init-method="init" destroy-method="destory"/>
bean生命周期控制–接口控制(了解)
实现InitializingBean, DisposableBean接口
public class BookServiceImpl implements BookService, InitializingBean, DisposableBean {private BookDao bookDao;public void save() {System.out.println("book service sava...");bookDao.save();}//提供对应的set方法public void setBookDao(BookDao bookDao) {this.bookDao = bookDao;}@Overridepublic void destroy() throws Exception {System.out.println("serivce destroy");}@Overridepublic void afterPropertiesSet() throws Exception {System.out.println("serivce init");}
}