Spring 如何在 Bean 初始化时进行操作?
在Spring中,我们可以通过以下两种方式在Bean初始化时进行操作:
- 使用
@PostConstruct
注解:这个Java标准注解可以用在一个非静态的void返回类型的方法上。当Spring创建Bean并完成依赖注入后,它会调用这个被@PostConstruct注解的方法。例如:
@Component
public class MyBean {
@PostConstruct
public void init() {
// 初始化操作...
}
}
在这个例子中,init方法会在MyBean创建并注入依赖后调用。
- 实现
InitializingBean
接口:这个接口只有一个方法,即afterPropertiesSet
。当Spring创建Bean并完成依赖注入后,它会调用这个方法。例如:
@Component
public class MyBean implements InitializingBean {
@Override
public void afterPropertiesSet() {
// 初始化操作...
}
}
在这个例子中,afterPropertiesSet方法会在MyBean创建并注入依赖后调用。
需要注意的是,如果同一个Bean中同时使用了@PostConstruct和InitializingBean,那么@PostConstruct注解的方法会先于afterPropertiesSet方法执行。