此注解属于java包下 javax.annotation.PostConstruct
通常都是一些初始化的操作,并且只会被服务器调用一次,但初始化可能依赖于注入的其他组件,所以要等依赖全部加载完再执行。
@Service
public class BeanA {
@Autowired
private BeanB beanB;
public BeanA() {
System.out.println("这是aaaaaa 的构造方法");
}
@PostConstruct
private void chushihua() {
System.out.println("这是aaaaaa 的 PostConstruct 方法");
beanB.testB();
}
public void testA()
{
System.out.println("这是aaaaaa 的 testA 方法");
}
}
@Service
public class BeanB {
public BeanB() {
System.out.println("这是bbbbbb 的 构造方法");
}
@PostConstruct
private void chushihua() {
System.out.println("这是bbbbbb 的PostConstruct 方法");
}
void testB() {
System.out.println("这是bbbbbb 的 testB 方法");
}
}
运行结果如下:
这是aaaaaa 的构造方法
这是bbbbbb 的 构造方法
这是bbbbbb 的PostConstruct 方法
这是aaaaaa 的 PostConstruct 方法
这是bbbbbb 的 testB 方法
----------------------
这是aaaaaa 的 testA 方法
总结:代码执行的顺序
1 构造方法
2 @Autowired
3 @PostConstruct
来源:CSDN
作者:小哇666
链接:https://blog.csdn.net/qq_41712271/article/details/103823481