实战指南:四种调整 Spring Bean 初始化顺序的方案
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class BeanInitializationConfig {
@Bean(initMethod = "init")
public MyBean myBean() {
return new MyBean();
}
@Bean(dependsOn = "myBean")
public AnotherBean anotherBean() {
return new AnotherBean(myBean());
}
}
public class MyBean {
public void init() {
// 自定义初始化逻辑
}
}
public class AnotherBean {
private MyBean myBean;
public AnotherBean(MyBean myBean) {
this.myBean = myBean;
// 依赖于MyBean的逻辑
}
}
这个简单的例子展示了如何在Spring配置类中使用@Bean
注解的initMethod
属性来指定初始化方法,以及如何使用dependsOn
属性来指定Bean间的依赖关系。这样可以控制Spring容器在创建Bean时的初始化顺序。
评论已关闭