Spring浅析之注解之二:spring支持的JSR-250注解之:@PostConstruct、@PreDestroy

原创 2015年11月21日 17:28:44

Spring 不但支持自己定义的 @Autowired 的注释,还支持几个由 JSR-250 规范定义的注释,它们分别是 @Resource@PostConstruct 以及 @PreDestroy

//初始化注解
@PostConstruct
public void init() { 
} 
//析构注解
@PreDestroy
public void destory() { 
} 


您只需要在方法前标注 @PostConstruct 或 @PreDestroy,这些方法就会在 Bean 初始化后或销毁之前被 Spring 容器执行了。

我们知道,不管是通过实现 InitializingBean/DisposableBean 接口,还是通过 <bean> 元素的 init-method/destroy-method 属性进行配置,都只能为 Bean 指定一个初始化 / 销毁的方法。但是使用 @PostConstruct 和 @PreDestroy 注释却可以指定多个初始化 / 销毁方法,那些被标注 @PostConstruct 或 @PreDestroy 注释的方法都会在初始化 / 销毁时被执行。

通过以下的测试代码,您将可以看到 Bean 的初始化 / 销毁方法是如何被执行的:

package com.alibaba.it.demo;

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class SpringTest {

    public static void main(String[] args) {
        String[] locations = {"beans.xml"};
        ClassPathXmlApplicationContext ctx = 
            new ClassPathXmlApplicationContext(locations);
        Boss boss = (Boss) ctx.getBean("boss");
        System.out.println(boss);
        ctx.destroy();// 关闭 Spring 容器,以触发 Bean 销毁方法的执行
    }
}

标注了 @PostConstruct 的 postConstruct1() 方法将在 Spring 容器启动时,创建 Boss Bean 的时候被触发执行,而标注了 @PreDestroy 注释的 preDestroy1() 方法将在 Spring 容器关闭前销毁 Boss Bean 的时候被触发执行。


版权声明:本文为博主原创文章,未经博主允许不得转载。

老生常谈-JSR规范

JSR是Java Specification Requests的缩写,意思是Java 规范提案。是指向JCP(Java Community Process)提出新增一个标准化技术规范的正式请求。任何...
  • dreamsunday
  • dreamsunday
  • 2016年02月02日 10:49
  • 7339

SPRING-MVC注解@PostConstruct与@PreDestroy讲解及实例

关于在spring  容器初始化 bean 和销毁前所做的操作定义方式有三种: 第一种:通过@PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作...
  • Paranoia_ZK
  • Paranoia_ZK
  • 2016年12月19日 15:14
  • 1147

注解@PostConstruct与@PreDestroy详解及实例

简介Java EE5 引入了@PostConstruct和@PreDestroy这两个作用于Servlet生命周期的注解,实现Bean初始化之前和销毁之前的自定义操作。此文主要说明@PostConst...
  • wo541075754
  • wo541075754
  • 2016年08月10日 18:04
  • 10775

spring_spring范围开始@PostConstruct、与结束注解@PreDestroy

package com.bjsxt.service; import javax.annotation.PostConstruct; import javax.annotation.PreDestro...
  • L1585931143
  • L1585931143
  • 2017年05月23日 16:05
  • 338

Spring中的初始化注解@PostConstruct

配置文件:     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springfra...
  • wd521521
  • wd521521
  • 2017年04月10日 23:38
  • 2417

注解@PostConstruct与@PreDestroy讲解及实例

原文地址:http://blog.csdn.net/yaerfeng/article/details/8447530 记录下来以备后用: 从Java EE 5规范开始,Servlet中增加了两...
  • txp1993
  • txp1993
  • 2015年01月29日 10:15
  • 2519

spring注解和一些配置

Spring注解1.准备工作 (1)导入common-annotations.jar (2)导入schema文件 文件名为spring-context-2.5.xsd (3)在xml的beans...
  • u012743772
  • u012743772
  • 2015年11月27日 15:16
  • 1023

Spring 注解通过@Autowired,@Resource,@Qualifier,@PostConstruct,@PreDestroy注入属性详解

本文介绍了使用Spring注解注入属性的方法。使用注解以前,注入属性通过类以及配置文件来实现。现在,注入属性可以通过引入@Autowired注解,或者@Resource,@Qualifier,@Pos...
  • chenlong220192
  • chenlong220192
  • 2015年06月25日 09:31
  • 566

@PostConstruct注解

import javax.annotation.PostConstruct; @PostConstruct public void myInit(){ //something code }初始...
  • mxj588love
  • mxj588love
  • 2016年11月11日 09:39
  • 627

Spring AOP注解通过@Autowired,@Resource,@Qualifier,@PostConstruct,@PreDestroy注入属性的配置文件详解

Spring AOP注解通过@Autowired,@Resource,@Qualifier,@PostConstruct,@PreDestroy注入属性的配置文件详解,代码下载地址:http://ww...
  • yaerfeng
  • yaerfeng
  • 2014年05月02日 09:38
  • 13229
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Spring浅析之注解之二:spring支持的JSR-250注解之:@PostConstruct、@PreDestroy
举报原因:
原因补充:

(最多只允许输入30个字)