admin管理员组文章数量:1623792
介绍
- @Priority与@Order类似,@Order是Spring提供的注解,@Priority是JSR 250标准,都是值越小优先级越高;
- 与@Order不同,@Priority可以控制组件的加载顺序,因此@Priority侧重于单个注入的优先级排序;
- @Priority优先级比@Order更高,两者共存时优先加载@Priority;
- @Primary是优先级最高的,如果同时有@Primary、@Order、Ordered的话,@Primary注解的Bean会优先加;。
使用
public interface StockService {
}
@Component
@Order(1)
@Priority(2)
public class StockServiceImpl1 implements StockService {
}
@Component
@Order(2)
@Priority(1)
public class StockServiceImpl2 implements StockService {
}
@Component
public class OrderService {
@Autowired
StockService stockService;
public void pay() {
System.out.println(stockService + " is created");
}
}
public class Test {
public static void main(String[] args) {
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);
OrderService o2 = (OrderService) context.getBean("orderService");
o2.pay();
}
}
打印结果:
com.sonnie.annotest.StockServiceImpl2@4141d797 is created
本文标签: Priority
版权声明:本文标题:@Priority 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dianzi/1728894950a1178290.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论