通过Spring @PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作
2015-07-28 09:09
816 查看
关于在spring 容器初始化 bean 和销毁前所做的操作定义方式有三种:
第一种:通过@PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作
第二种是:通过 在xml中定义init-method 和 destory-method方法
第三种是: 通过bean实现InitializingBean和 DisposableBean接口
下面演示通过 @PostConstruct 和 @PreDestory
1:定义相关的实现类:
第一种:通过@PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作
第二种是:通过 在xml中定义init-method 和 destory-method方法
第三种是: 通过bean实现InitializingBean和 DisposableBean接口
下面演示通过 @PostConstruct 和 @PreDestory
1:定义相关的实现类:
import javax.annotation.PostConstruct; import javax.annotation.PreDestroy; public class PersonService { private String message; public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } @PostConstruct public void init(){ System.out.println("I'm init method using @PostConstrut...."+message); } @PreDestroy public void dostory(){ System.out.println("I'm destory method using @PreDestroy....."+message); } }
<?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-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd"> <!-- <context:component-scan base-package="com.myapp.core.jsr330"/> --> <context:annotation-config /> <bean id="personService" class="com.myapp.core.annotation.init.PersonService"> <property name="message" value="123"></property> </bean> </beans>
import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class MainTest { public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext("resource/annotation.xml"); PersonService personService = (PersonService)context.getBean("personService"); personService.dostory(); }
相关文章推荐
- java.lang.NoClassDefFoundError: org/slf4j/Logger
- java中的IO整理
- Java----多态
- java的jdbc简单封装方法
- event handling in Java
- eclipse里面INSTALL_FAILED_SHARED_USER_INCOMPATIBLE错误需要签名
- Java 编程下 Eclipse/myeclipse 如何设置单行代码显示的最大宽度
- java调用webservice接口的方法
- [Java]用递归与非递归的形式输出给定目录的所有文件名
- JVM中类的卸载机制
- Java虚拟机的类加载机制
- JVM中java类的加载时机
- JVM中java类的加载时机
- Java项目性能监控和调优工具-Javamelody
- JAVA面向对象特征详解
- 跟我学Java多线程——线程池与阻塞队列
- Java 性能优化系列之1[设计与程序优化]
- Java使用DOM方式读写XML
- Java开发调试技巧及Eclipse快捷键使用方法
- 在eclipse下配置maven