@PostConstruct静态方法顺序
时间: 2023-10-15 14:31:17 浏览: 239
静态方法中调用Spring注入过程解析
@PostConstruct注解用于在依赖注入完成后执行初始化操作的方法。对于静态方法来说,@PostConstruct注解是不生效的,因为静态方法不依赖于实例对象。
如果你想要在类被加载时执行静态方法,你可以使用静态代码块。静态代码块会在类被加载时执行,并且执行顺序是按照静态代码块在类中的位置顺序执行的。
下面是一个示例代码,展示了静态代码块和实例初始化方法的执行顺序:
```
public class MyClass {
static {
System.out.println("Static code block 1");
}
public MyClass() {
System.out.println("Constructor");
}
static {
System.out.println("Static code block 2");
}
@PostConstruct
public void init() {
System.out.println("@PostConstruct method");
}
}
```
当创建MyClass实例时,输出结果如下:
```
Static code block 1
Static code block 2
Constructor
@PostConstruct method
```
可以看到,静态代码块首先执行,然后是构造函数,最后是@PostConstruct方法。
阅读全文