@PostConstruct 注解
@PostConstruct 注解
1 /* 2 * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. 3 * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. 4 24 */ 25 26 package javax.annotation; 27 28 import java.lang.annotation.*; 29 import static java.lang.annotation.ElementType.*; 30 import static java.lang.annotation.RetentionPolicy.*; 31 32 /** 33 * The PostConstruct annotation is used on a method that needs to be executed 34 * after dependency injection is done to perform any initialization. This 35 * method MUST be invoked before the class is put into service. This 36 * annotation MUST be supported on all classes that support dependency 37 * injection. The method annotated with PostConstruct MUST be invoked even 38 * if the class does not request any resources to be injected. Only one 39 * method can be annotated with this annotation. The method on which the 40 * PostConstruct annotation is applied MUST fulfill all of the following 41 * criteria 42 - The method MUST NOT have any parameters except in the case of EJB 43 * interceptors in which case it takes an InvocationC ontext object as 44 * defined by the EJB specification. 45 * - The return type of the method MUST be void. 46 * - The method MUST NOT throw a checked exception. 47 * - The method on which PostConstruct is applied MAY be public, protected, 48 * package private or private. 49 * - The method MUST NOT be static except for the application client. 50 * - The method MAY be final. 51 * - If the method throws an unchecked exception the class MUST NOT be put into 52 * service except in the case of EJBs where the EJB can handle exceptions and 53 * even recover from them. 54 * @since Common Annotations 1.0 55 * @see javax.annotation.PreDestroy 56 * @see javax.annotation.Resource 57 */ 58 @Documented 59 @Retention (RUNTIME) 60 @Target(METHOD) 61 public @interface PostConstruct { 62 }