问题:如何在Spring中控制Bean初始化先后顺序?
从Spring 2.0出现后,Spring提供@Order注解来定义了组件的加载顺序。
@Order定义
@Retention(value=RUNTIME)
@Target(value={TYPE,METHOD,FIELD})
@Documented
public @interface Order
这个标记包含一个value属性,类型是整型,如:1,2 等等。值越小拥有越高的优先级。
默认的属性是Ordered.LOWEST_PRECEDENCE
,代表的是最低优先级。
通过代码可以发现最大值和最小值的定义就是Inger的最大值和最小值。

简单举例
Ranks.java

RankOne.java

RankTwo.java

RankThree.java

Results.java

beans.xml

RanksClient.java

运行输出:
[RankOne, RankThree, RankTwo]
修改RankTwo代码:
@Component@Order(1)
public class RankTwo implements Ranks{ //Same code as given above}
运行输出:
[RankTwo,RankOne, RankThree]
感谢阅读,希望对你有所帮助 :)
来源:blog.csdn.net/keepfriend/article/details/113860086
推荐:
PS:因为公众号平台更改了推送规则,如果不想错过内容,记得读完点一下“在看”,加个“星标”,这样每次新文章推送才会第一时间出现在你的订阅列表里。点“在看”支持我们吧!
原文始发于微信公众号(Java笔记虾):如何在 Spring 中控制 Bean 初始化先后顺序?
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/126449.html