当前位置:
首页 >
前端技术
> javascript
>内容正文
javascript
Spring容器初始化Bean、销毁Bean前所做操作的定义方式汇总
生活随笔
收集整理的这篇文章主要介绍了
Spring容器初始化Bean、销毁Bean前所做操作的定义方式汇总
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
1、通过@javax.annotation.PostConstruct和@javax.annotation.PreDestroy定义
package com.xiaochuange.platform.spring4;import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; import javax.annotation.PreDestroy;/*** @Desc:* @Auther: spring* @Date: 2018-9-12 14:56*/ @Component("initAndDestoryService") public class InitAndDestoryService {// 销毁之前执行@PreDestroypublic void methodPreDestroy() {System.out.println("InitAndDestoryService @PreDestroy invoke...");}// 初始化之前执行@PostConstructpublic void methodPostConstruct() {System.out.println("InitAndDestoryService @PostConstruct invoke...");}}2、通过xml配置文件指定init-method和destroy-method
package com.xiaochuange.platform.spring4;/*** @Desc:* @Auther: spring* @Date: 2018-9-12 15:03*/ public class XmlInitAndDestoryService {private String message;public String getMessage() {return message;}public void setMessage(String message) {this.message = message;}public void methodInit(){System.out.println("XmlInitAndDestoryService methodInit invoke..." + message);}public void methodDestory(){System.out.println("XmlInitAndDestoryService methodDestory invoke..." + message);}}applicationContext.xml
<bean id="xmlInitAndDestoryService"class="com.xiaochuange.platform.spring4.XmlInitAndDestoryService"init-method="methodInit" destroy-method="methodDestory"><property name="message" value="234"></property> </bean>3、通过bean实现InitializingBean和DisposableBean接口
package com.xiaochuange.platform.spring4;import org.springframework.beans.factory.DisposableBean; import org.springframework.beans.factory.InitializingBean;/*** @Desc:* @Auther: spring* @Date: 2018-9-12 14:27*/ public class InitializingBeanAndDisposableBeanService implements InitializingBean, DisposableBean {private String message;public String getMessage() {return message;}public void setMessage(String message) {this.message = message;}@Overridepublic void destroy() throws Exception {// 销毁时的操作System.out.println("InitializingBeanAndDisposableBeanService destroy() invoke..." + message);}@Overridepublic void afterPropertiesSet() throws Exception {// 初始化时的操作System.out.println("InitializingBeanAndDisposableBeanService afterPropertiesSet() invoke..." + message);}}applicationContext.xml
<bean id="personService" class="com.xiaochuange.platform.spring4.InitializingBeanAndDisposableBeanService"><property name="message" value="123"></property> </bean>4、测试
package com.xiaochuange.platform.spring4;import org.springframework.context.support.AbstractApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext;/*** @Desc:* @Auther: spring* @Date: 2018-9-12 14:45*/ public class MainTest {public static void main(String[] args) {AbstractApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");InitializingBeanAndDisposableBeanService personService = (InitializingBeanAndDisposableBeanService) context.getBean("personService");InitAndDestoryService initAndDestoryService = (InitAndDestoryService) context.getBean("initAndDestoryService");XmlInitAndDestoryService xmlInitAndDestoryService = (XmlInitAndDestoryService) context.getBean("xmlInitAndDestoryService");context.registerShutdownHook();// 输出如下: // InitAndDestoryService @PostConstruct invoke... // InitializingBeanAndDisposableBeanService afterPropertiesSet() invoke...123 // XmlInitAndDestoryService methodInit invoke...234 // XmlInitAndDestoryService methodDestory invoke...234 // InitializingBeanAndDisposableBeanService destroy() invoke...123 // InitAndDestoryService @PreDestroy invoke...} }转载于:https://blog.51cto.com/springsupervip/2174254
《新程序员》:云原生和全面数字化实践50位技术专家共同创作,文字、视频、音频交互阅读总结
以上是生活随笔为你收集整理的Spring容器初始化Bean、销毁Bean前所做操作的定义方式汇总的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: win server 2008 R2 安
- 下一篇: 洛谷P1337 [JSOI2004]平衡