@PostConstruct注解是javax.annotation包下的一个注解,它用于标记一个方法,在对象创建完成,依赖注入完成之后执行。
- 作用:
- @PostConstruct注解的方法会在对象创建完成之后自动调用,可以在这个方法中进行一些初始化操作。
- 与构造函数不同,@PostConstruct注解的方法可以使用依赖注入的属性,因此可以在这个方法中对依赖的属性进行一些操作,而不需要在构造函数中手动传入。
- 使用:
- 在需要使用@PostConstruct注解的方法上添加@PostConstruct注解。
- 该方法不能有参数,不能有返回值,也不能抛出异常。
- @PostConstruct注解的方法可以是任意访问修饰符,可以是非静态方法。
- 如果一个类中有多个使用@PostConstruct注解的方法,这些方法的执行顺序是不确定的。
示例:
import javax.annotation.PostConstruct;
public class MyClass {
private String name;
public MyClass() {
System.out.println("Constructor");
}
@PostConstruct
public void init() {
System.out.println("Init method");
this.name = "MyClass";
}
public String getName() {
return name;
}
}
在上述示例中,当创建MyClass对象时,会先执行构造函数,然后再执行标有@PostConstruct注解的init方法。在init方法中,我们可以对属性进行一些初始化操作,这里给name属性赋值为"MyClass"。