Spring boot 中使用 @Order 指定Bean的优先级
在Spring Boot中,你可以使用@Order
注解来指定Bean的创建顺序,但如果你想要指定Bean的优先级或者定义Bean的依赖关系,通常推荐使用@Primary
和@DependsOn
注解。
@Order
注解可以标注在配置类、组件或者Bean上,它接收一个整型值,值越小,优先级越高。
以下是一个使用@Order
指定Bean优先级的例子:
@Configuration
public class AppConfig {
@Bean
@Order(1)
public FirstService firstService() {
return new FirstService();
}
@Bean
@Order(2)
public SecondService secondService() {
return new SecondService();
}
}
在这个例子中,firstService
将会在secondService
之前被创建,因为它的顺序号更小。
需要注意的是,@Order
主要用于排序PriorityListFactoryBean、PriorityOrdered、Ordered接口实现类等特定情况。对于依赖注入的情况,通常使用@Autowired
注解或者在配置中使用@Primary
注解来指定首选的Bean。
评论已关闭