spring bean标签中的init-method和destroy-method怎么使用
这篇文章主要介绍了spring bean标签中的init-method和destroy-method怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇spring bean标签中的init-method和destroy-method怎么使用文章都会有所收获,下面我们一起来看看吧。
1 背景介绍
在很多项目中,经常在xml配置文件中看到init-method 或者 destroy-method 。因此整理收集下,方便以后参考和学习。可以使用 init-method 和 destroy-method 在bean 配置文件属性用于在bean初始化和销毁某些动作时。这是用来替代 InitializingBean和DisposableBean接口。
init-method 用于指定bean的初始化方法。 spring 容器会帮我们实例化对象,实例化对象之后,spring就会查找我们是否配置了init-method。如果在标签配置了init-method,spring就会调用我们配置的init-method 方法,进行bean的初始化。需要注意的是,构建方法先执行,执行完后就会执行 init-method 。
2 init-method
xml配置
<bean id="testService" class="com.test.TestService" init-method="myInit" destroy-method="myDestroy"> </bean>
public class TestService { public TestService(){ System.out.println("实例化:TestService"); } public void myInit(){ System.out.println("初始化:TestService"); } public void myDestroy(){ System.out.println("销毁:TestService"); }}
测试
public class App { public static void main( String[] args ) { ConfigurableApplicationContext context = new ClassPathXmlApplicationContext(new String[] {"applicationContext.xml"}); TestService cust = (CustomerService)context.getBean("testService"); System.out.println("hhhhh"); //context.close(); }}
输出:
实例化:TestService
初始化:TestService
hhhhh
3 destroy-method
public class App { public static void main( String[] args ) { ConfigurableApplicationContext context = new ClassPathXmlApplicationContext(new String[] {"applicationContext.xml"}); TestService cust = (CustomerService)context.getBean("testService"); System.out.println("hhhhh"); context.close(); }}
spring上下文关闭时候,才会进行销毁。
输出:
实例化:TestService
初始化:TestService
hhhhh
销毁:TestService
关于“spring bean标签中的init-method和destroy-method怎么使用”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“spring bean标签中的init-method和destroy-method怎么使用”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网行业资讯频道。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341