Spring 如何在 Bean 初始化时进行操作?

在Spring中,我们可以通过以下两种方式在Bean初始化时进行操作:

  1. 使用@PostConstruct注解:这个Java标准注解可以用在一个非静态的void返回类型的方法上。当Spring创建Bean并完成依赖注入后,它会调用这个被@PostConstruct注解的方法。例如:
@Component
public class MyBean {

    @PostConstruct
    public void init() {
        // 初始化操作...
    }
}

在这个例子中,init方法会在MyBean创建并注入依赖后调用。

  1. 实现InitializingBean接口:这个接口只有一个方法,即afterPropertiesSet。当Spring创建Bean并完成依赖注入后,它会调用这个方法。例如:
@Component
public class MyBean implements InitializingBean {

    @Override
    public void afterPropertiesSet() {
        // 初始化操作...
    }
}

在这个例子中,afterPropertiesSet方法会在MyBean创建并注入依赖后调用。

需要注意的是,如果同一个Bean中同时使用了@PostConstruct和InitializingBean,那么@PostConstruct注解的方法会先于afterPropertiesSet方法执行。

发表评论

后才能评论