spring加载类初始化顺序

今天看spring官网的时候,提到了Ordered执行顺序。我当时记得@PostConstruct注解会在bean加载后执行,现在又来了一个执行顺序,直接给我整蒙了。

于是我写了一个简单的dom来看看,它是什么:

@Service("t2ServerImpl")
//t1ServerImpl,t3ServerImpl省略。
public class t2ServerImpl implements Ordered, CommandLineRunner {
    int order = 1;

    public void print() {
        System.out.println("t2ServerImpl:" + order);
    }

    @Override
    public int getOrder() {
        return order;
    }

    @Override
    public void run(String... args) throws Exception {
        print();
    }

    @PostConstruct
    public void init() {
        System.out.println("t2ServerImpl init");
    }
}

启动springBoot打印如下:

 

后来我改了t1ServerImpl为t4ServerImp,结果它是最后加载。

加载很有意思,应该是我这个没有依赖别的bean,所以就按照顺序加载了。

如果我这样:

我在t2中依赖t4。

这个时候t4就最先加载:

说完加载问题,我们来看看 Ordered执行顺序问题,这三哥类中都实现了CommandLineRunner接口的run方法,也就是说加载完毕后,回去执行run方法。

这个时候Ordered就可以控制这三个类的执行顺序。

t2ServerImpl:1
t4ServerImpl:2
t3ServerImpl:3

直接使用@Order效果也是一样的:

相关推荐

  1. 时机及顺序

    2024-04-09 15:36:04       35 阅读
  2. Spring

    2024-04-09 15:36:04       8 阅读
  3. Spring机制揭秘:深度解析“使用”阶段

    2024-04-09 15:36:04       8 阅读
  4. Spring机制揭秘:深度解析“解析”阶段

    2024-04-09 15:36:04       9 阅读
  5. Spring机制揭秘:深度解析“”阶段

    2024-04-09 15:36:04       8 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-09 15:36:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-09 15:36:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-09 15:36:04       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-09 15:36:04       20 阅读

热门阅读

  1. html自定义禁用状态下且已选中的checkbox

    2024-04-09 15:36:04       13 阅读
  2. 对称排序(蓝桥杯)

    2024-04-09 15:36:04       13 阅读
  3. 软件版权登记的条件

    2024-04-09 15:36:04       15 阅读
  4. Go语言中如何实现多态

    2024-04-09 15:36:04       13 阅读
  5. Qt-Mat转QImage

    2024-04-09 15:36:04       10 阅读
  6. leetcode回忆法-1两数之和

    2024-04-09 15:36:04       13 阅读
  7. 【c++&leetcode】1. Two Sum

    2024-04-09 15:36:04       12 阅读
  8. [LeetCode][LCR131]砍竹子 I——推测规律

    2024-04-09 15:36:04       14 阅读
  9. 地理处理和空间分析的关键技巧

    2024-04-09 15:36:04       11 阅读
  10. vs mfc未加载mfc140u导致无法启动

    2024-04-09 15:36:04       12 阅读