都要归功于下面这个方法:
// 这一行回去加载 springboot 指定的文件List<String> configurations = getCandidateConfigurations(annotationMetadata, attributes);
这里实际上回去解析一个文件:
Enumeration<URL> urls = classLoader != null ? classLoader.getResources("META-INF/spring.factories") : ClassLoader.getSystemResources("META-INF/spring.factories");
这也就是我们在开发自己的 springboot-starter 时,为什么需要把自己的启动类放在 META-INF/spring.factories 文件中的原因,这样就可以被 springboot 加载,并且生效了 。
推荐阅读:
Spring Boot-11-自定义 springboot starter小结到这里,springboot 的启动原理就讲解的差不多了 。
springboot 和以前的 spring xml 配置相比较,确实简化了太多太多 。
让我们可以更加快速,正确的启动一个 java web 程序 。
未来的发展历程也必然是这样,谁更加简单便捷,谁能提升效率,就是谁的天下 。这就是老马的效率第一定律 。
希望本文对你有帮助,如果有其他想法的话,也可以评论区和大家分享哦 。
各位极客的点赞收藏转发,是老马持续写作的最大动力!
期待与你的下次重逢 。
推荐阅读
- Python线程的生命周期你知道多少,一文帮你全部搞清楚
- C#语音对话控制PLC太香
- 如何挑选牛腱子肉
- 去饭店必点菜 去饭店不知道点什么菜
- 面试不懂 Linux 内存管理?我用 20 张图给你讲明白
- 荣耀magic3官方消息 荣耀magic3上市
- Docker 命令自动补全?要的
- .NET已经步入5.0时代,这些代码保护软件需要知道
- 小麦粉怎么做馒头
- 诈骗|反诈警官老陈称辞职是错误决定:感到委屈不服气 生活似乎难回到以前