直译:
PostConstruct注解用于在完成依赖注入以执行任何初始化之后需要执行的方法。必须在类投入服务之前调用此方法。支持依赖注入的所有类都必须支持此注解。即使类不请求注入任何资源,也必须调用PostConstruct注释的方法。只有一个方法可以使用此注解。应用PostConstruct批注的方法必须满足以下所有条件:
方法不能有任何参数,除非在拦截器的情况下,在这种情况下,它接受侦听器规范定义的调用上下文对象。
拦截器类上定义的方法必须具有以下签名之一:
void<METHOD>(调用上下文)
对象抛出异常
注意:PostConstruct拦截器方法不能抛出应用程序异常,但如果同一拦截器方法除了生命周期事件之外还插入了业务或超时方法,则可以声明它抛出已检查的异常,包括java.lang.Exception。如果PostConstruct拦截器方法返回值,则容器将忽略该值。
在非拦截器类上定义的方法必须具有以下签名:
void<METHOD>()
应用PostConstruct的方法可以是public、protected、package private或private。
除了应用程序客户端之外,该方法不能是静态的。
方法可能是final的。
如果方法抛unchecked,则类不能投入服务,除非在EJB中EJB可以处理异常,甚至可以从异常中恢复
应用:
在spring应用中,该注解会在依赖注入完成后,执行。可以理解为spring容器启动当前bean完成注入,执行该注释下的方法。