【Java注解】@PostConstruct 注解相关

不多逼逼,直接看注解上面的文档,

  @PostConsturct

    PostConstruct注释用于需要执行的方法在依赖注入完成后执行任何初始化。这个方法必须在类投入服务之前调用

  这个所有支持依赖关系的类都必须支持注解。即使调用带有PostConstruct注释的方法如果类不请求注入任何资源。

  方法只能加@PostConstruct一个注解(如果配合其他注解,可能发生二次调用的情况)

  使用该@PostConstruct注解的方法必须满足以下所有条件:

    1.@PostConstruct被用作拦截器的方法(PS:除了用作拦截器器得方法之外,被改注解修饰的方法不得具有任何参数)

      该方法得签名如下:  

        void <METHOD>(InvocationContext)

        Object <METHOD>(InvocationContext) throws Exception

      PostConstruct拦截器方法一定不能引发应用程序异常,但是如果除生命周期事件之外,相同的拦截器方法还插在业务或超时方法上,则可以声明它引发被检查的异常,包括java.lang.Exception。如果PostConstruct拦截器方法返回一个值,则容器会将其忽略。

    2.@PostConstruct未被用作拦截器的方法

      该方法的签名如下:

        void <METHOD>(InvocationContext)

      该方法的访问修饰符可以为 public, protected,private or private.

      该方法不能是静态的

      该方法可以是被final修饰的

      如果该方法抛出未经检查的异常,则该类不得放入服务中,除非是EJB可以处理异常甚至从异常中恢复的EJB。

      

      

原文地址:https://www.cnblogs.com/july-sunny/p/12510814.html