经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » Java相关 » Spring » 查看文章
Spring init-method与destroy-method属性的用法解析
来源:jb51  时间:2021/8/26 10:36:35  对本文有异议

Spring init-method与destroy-method属性使用

知识点介绍:

有时候在bean初始化之后要执行的初始化方法,以及在bean销毁时执行的方法。这时就需要配置init-method和destroy-method属性,顾名思义,配置初始与销毁的方法。

操作步骤:

1、创建Speaker对象

  1. public class Speaker {
  2. private String name;
  3. private String topic;
  4. private Speaker(String name,String topic){
  5. this.name = name;
  6. this.topic = topic;
  7. }
  8. /**
  9. * Speaker实例化时执行的方法
  10. */
  11. private void init() {
  12. System.out.println("执行Speaker 的 初始化方法 init");
  13. }
  14. /**
  15. * Speaker销毁时执行的方法
  16. */
  17. private void destroy() {
  18. System.out.println("执行Speaker 的销毁方法 destroy");
  19. }
  20. public void teach() {
  21. System.out.println(toString());
  22. }
  23. @Override
  24. public String toString() {
  25. return "Speaker [name=" + name + ", topic=" + topic + "]";
  26. }
  27. }

2、创建Spring配置文件beanLearn05.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://www.springframework.org/schema/beans
  5. http://www.springframework.org/schema/beans/spring-beans.xsd">
  6. <!-- Learn 05 init-method和destroy-method属性的使用 -->
  7. <bean id="speaker05" class="com.mahaochen.spring.learn05.Speaker"
  8. init-method="init" destroy-method="destroy">
  9. <constructor-arg index="0" value="elle" />
  10. <constructor-arg index="1" value="Study Hard!" />
  11. </bean>
  12. </beans>

3、将Spring配置文件beanLearn05.xml引入到主配置文件beans.xml中。

  1. <!-- Learn 04 使用实例工厂方式实例化Bean -->
  2. <import resource="com/mahaochen/spring/learn05/beanLearn05.xml"/>

4、编写测试类TestSpring05.java。

  1. public class TestSpring05 {
  2. public static void main(String[] args) {
  3. ApplicationContext appContext = new ClassPathXmlApplicationContext("beans.xml");
  4. Speaker speaker05 = (Speaker) appContext.getBean("speaker05");
  5. speaker05.teach();
  6. ((ClassPathXmlApplicationContext) appContext).close();
  7. }
  8. }

init-method="init"和 destroy-method="close" 作用

一般在我们配置数据源的时候,会这样写

  1. <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">

init-method="init" destroy-method="close" 作用:

init-method="init"是指bean被初始化时执行的方法,当bean实例化后,执行init-method用于初始化数据库连接池。

destroy-method="close" 是指bean被销毁时执行的方法 Spring容器关闭时调用该方法即调用close()将连接关闭。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持w3xue。

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号