-
@Documented @Retention(RUNTIME) @Target(METHOD) public @interface PostConstruct
PostConstruct注释用于需要执行相关性注入后执行任何初始化的方法。 必须在该类投入使用之前调用此方法。 必须在支持依赖注入的所有类上支持此注释。 即使该类不请求任何注入的资源,也必须调用PostConstruct注释的方法。 只有一种方法可以使用此注释进行注释。 应用PostConstruct注释的方法必须满足以下所有条件:- 除了拦截器的情况下,该方法必须不具有任何参数,在这种情况下,它将接受由Interceptor规范定义的InvocationContext对象。
- 在拦截器类上定义的方法必须具有以下签名之一:
void <METHOD>(InvocationContext)
Object <METHOD>(InvocationContext)抛出异常
注意:PostConstruct拦截器方法不能抛出应用程序异常,但是除了生命周期事件之外,如果相同的拦截器方法在业务或超时方法上插入,则它可能被声明为抛出检查的异常,包括java.lang.Exception。 如果PostConstruct拦截器方法返回值,容器将被忽略。
- 在非拦截器类上定义的方法必须具有以下签名:
void <METHOD>()
- PostConstruct应用的方法可以是public,protected,private或private。
- 除了应用程序客户端,该方法绝对不是静态的。
- 该方法可能是最终的。
- 如果该方法抛出一个未经检查的异常,则该类绝不能投入使用,除非EJB可以处理异常甚至从它们恢复。
- 从以下版本开始:
- 1.6,通用注释1.0
- 另请参见:
-
PreDestroy
,Resource