- 名师讲坛:Spring实战开发(Redis+SpringDataJPA+SpringMVC+SpringSecurity)
- 李兴华
- 492字
- 2021-03-30 21:09:15
3.7 Bean的初始化与销毁
对于Java的程序类,系统提供了默认的初始化与销毁处理方法:初始化采用构造方法实现,销毁处理使用finliaze方法完成。这两个方法,一个是对象实例化之后的调用,一个是对象被回收前的调用。Spring开发框架中,由于所有的对象都归Spring管理,所以无法使用Java中的初始化与销毁方法,但开发者可以定义自己的初始化和销毁的操作,在这一基础上又追加了自定义初始化与销毁的方法设置。
1.【mldnspring-base项目】定义Message类,并自定义初始化与销毁方法。
2.【mldnspring-base项目】修改spring-base.xml配置文件,追加初始化与销毁处理。
本程序中使用了init-method定义了Bean的初始化方法,destroy-method定义了Bean的销毁方法。
3.【mldnspring-base项目】编写程序启动Spring容器。默认情况下,会自动调用配置中init-method所定义的方法进行初始化。如果想观察销毁方法调用,则必须明确地进行注册销毁处理。
可以发现,在Spring中定义的初始化方法是在构造方法调用后才会执行,同时只有执行了容器销毁后,ctx.registerShutdownHook()才可以明确发现销毁方法调用。
提示:销毁操作会由容器自动完成。
在进行Spring项目整合开发时,可以利用销毁处理来释放资源。例如,在与ORMapping开发框架整合时,可以利用销毁操作调用数据库关闭处理。大部分情况下,销毁操作会由Spring自行处理,开发者并不需要进行关注。