如果想在框架启动的时候想自定义去加载你想先加载的Bean,可以通过以下方式进行实现
1. 使用 @DependsOn
注解
beanA,beanB可以进行调换,MyBean
会在 beanA
和 beanB
之后初始化
@Component
@DependsOn({"beanA", "beanB"})
public class MyBean {
}
2. 使用@Order注解
数值越小优先级越高,主要用于排序 Ordered
类型的 Bean,如过滤器、拦截器等
@Component
@Order(1)
public class MyFirstBean {
}
3.使用配置类(@Configuration
)和 Java 配置,(显示处理,从上而下)
@Configuration
public class MyConfiguration {
@Bean
public BeanA beanA() {
return new BeanA();
}
@Bean
public BeanB beanB() {
// beanB depends on beanA
return new BeanB(beanA());
}
}