spring bean 中的init-method和destroy-method (带示例说明)
来源:互联网 发布:java连接mongodb 编辑:程序博客网 时间:2024/05/16 12:56
在spring中可以通过配置文件或者注解指定,在bean初始化之后要执行的初始化方法,以及在bean销毁时执行的方法。
可以通过下面的例子可以直观的理解一下.
我们首先要建好spring的开发环境,具体参考:http://outofmemory.cn/java/spring/spring-hello-world
我们先建一个Person类:
package cn.outofmemory.spring;public class Person {public void initialize() {System.out.println("I'm initialized");}public void destroy() {System.out.println("I'm destroied");}public void doSomething() {;}}
这个类中定义了三个方法,分别为initialize,destory和doSomething。顾名思义,initialize是希望在类初始化时执行,而destroy方法则是希望在bean销毁时执行。
spring配置文件如下:
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"><bean class="cn.outofmemory.spring.Person" init-method="initialize" destroy-method="destroy"></bean></beans>
在
bean中我们通过了init-method和destroy-method属性,指定了在初始化和销毁时要执行的方法。
App类代码如下:
package cn.outofmemory.spring;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;/** * Hello world! * */public class App {public static void main(String[] args) {ApplicationContext appContext = new ClassPathXmlApplicationContext("/spring.xml");Person p = appContext.getBean(Person.class);((ClassPathXmlApplicationContext) appContext).close();System.out.println("exit.");}}
在App类的main方法中,我们首先初始化了ApplicationContext实例,然后从appContext中获得了我们配置的Person bean,然后将appContext关闭,最后退出了程序。
我们看下输出:
I'm initializedI'm destroiedexit.
可以看到输出了Person类的初始化和销毁方法所做的输出。这里需要注意初始化方法会在bean初始化时执行,如果bean的scope是prototype,那么会在每一次bean初始化时都会执行,如果是singleton,那么只在第一次初始化时执行。而scope为singleton的bean的destroy方法则是在容器关闭时执行,而scope为prototype的bean是不会执行destroy方法的,这是spring设计使然,要特别注意。
阅读全文
0 0
- spring bean 中的init-method和destroy-method (带示例说明)
- spring的bean的init-method和 destroy-method=
- Spring中bean的init-method和destroy-method
- spring bean 的init-method和destroy-method
- Spring Bean init-method 和 destroy-method实例
- Spring (init-method和destroy-method )
- Spring Bean生命周期 init-method 和destroy-methd
- Spring init-method destroy-method
- spring配置文件中bean标签中init-method和destroy-method和用注解方式配置
- Spring init-method和destroy-method属性的使用
- Spring init-method和destroy-method属性的使用
- Spring init-method和destroy-method属性的使用
- spring 中 init-method 和 destroy-method 的使用方式
- Spring中配置init-method和destroy-method方法
- Spring中的destroy-method
- Spring容器中Bean的生命周期(init-method destroy-method)
- Spring中lazy-init,init-method,destroy-method解析
- Spring中的destroy-method方法
- Hi3516A开发-- 生成烧写最小文件系统 squashfs
- 如何下载百度地图中的矢量POI兴趣点
- 多态+多态对象模型
- transform的perspective属性
- Git 提交公钥文件后,执行git clone命令的时候 总是出现提示 输入服务端密码......
- spring bean 中的init-method和destroy-method (带示例说明)
- 会话Cookie
- 10月集训test3
- 公司基本的技术体系需要有哪些元素
- 2017云栖大会·杭州峰会:《在线用户行为分析:基于流式计算的数据处理及应用》之《数据可视化:构建实时动态运营数据分析大屏》篇
- 2.1.1方法内的变量(私有变量)是线程安全的
- Python3 I/O(数据流 模块)
- 接口测试的常用策略以及方法
- Mysql 查询数据并按顺序添加序号