一天一个注解-@PostConstruct

简介: 简介Java EE5 引入了@PostConstruct和@PreDestroy这两个作用于Servlet生命周期的注解,实现Bean初始化之前和销毁之前的自定义操作。

简介

Java EE5 引入了@PostConstruct和@PreDestroy这两个作用于Servlet生命周期的注解,实现Bean初始化之前和销毁之前的自定义操作。此文主要说明@PostConstruct。

API使用说明

以下为@PostConstruct的API使用说明:

PostConstruct 注释用于在依赖关系注入完成之后需要执行的方法上,以执行任何初始化。此方法必须在将类放入服务之前调用。支持依赖关系注入的所有类都必须支持此注释。即使类没有请求注入任何资源,用 PostConstruct 注释的方法也必须被调用。只有一个方法可以用此注释进行注释。应用 PostConstruct 注释的方法必须遵守以下所有标准:该方法不得有任何参数,除非是在 EJB 拦截器 (interceptor) 的情况下,根据 EJB 规范的定义,在这种情况下它将带有一个 InvocationContext 对象 ;该方法的返回类型必须为 void;该方法不得抛出已检查异常;应用 PostConstruct 的方法可以是 public、protected、package private 或 private;除了应用程序客户端之外,该方法不能是 static;该方法可以是 final;如果该方法抛出未检查异常,那么不得将类放入服务中,除非是能够处理异常并可从中恢复的 EJB。

总结为一下几点:

  • 只有一个方法可以使用此注释进行注解;
  • 被注解方法不得有任何参数;
  • 被注解方法返回值为void;
  • 被注解方法不得抛出已检查异常;
  • 被注解方法需是非静态方法;
  • 此方法只会被执行一次;

Servlet执行流程图

两个注解加入只会,Servlet执行流程图:


img_f412092e635e183b69aea890e5c9cb3c.png
这里写图片描述

在具体Bean的实例化过程中,@PostConstruct注释的方法,会在构造方法之后,init方法之前进行调用。

目录
相关文章
|
Java Spring
Spring笔记-@Order注解和Ordered接口
Spring笔记-@Order注解和Ordered接口
SpringAOP导致@Autowired依赖注入失败
SpringAOP导致@Autowired依赖注入失败
159 1
|
开发框架 Java Spring
Spring - 属性注入之注解(@Autowired、@Qualifier、@Resource)
Spring - 属性注入之注解(@Autowired、@Qualifier、@Resource)
218 0
Spring - 属性注入之注解(@Autowired、@Qualifier、@Resource)
|
缓存 算法
享读SpringMVC源码2-@RequestMapping注解源码(下)
享读SpringMVC源码2-@RequestMapping注解源码(下)
享读SpringMVC源码2-@RequestMapping注解源码(上)
享读SpringMVC源码2-@RequestMapping注解源码(上)
|
XML Java 数据格式
@Bean 注解
@Bean 注解
2902 5
|
XML Java 测试技术
就是要让你彻底学会 @Bean 注解(上)
就是要让你彻底学会 @Bean 注解(上)
|
XML Java 数据格式
就是要让你彻底学会 @Bean 注解(下)
就是要让你彻底学会 @Bean 注解(下)
就是要让你彻底学会 @Bean 注解(下)
SPRING02_核心注解、Bean、primary、DependsOn、Lazy、Scope、ComponentScan、详解Import、Lookup注解(五)
SPRING02_核心注解、Bean、primary、DependsOn、Lazy、Scope、ComponentScan、详解Import、Lookup注解(五)
115 0
SPRING02_核心注解、Bean、primary、DependsOn、Lazy、Scope、ComponentScan、详解Import、Lookup注解(四)
SPRING02_核心注解、Bean、primary、DependsOn、Lazy、Scope、ComponentScan、详解Import、Lookup注解(四)
114 0