刚关注的朋友,可以回顾前两篇文章:
上篇文章总结了《深入实践Spring Boot》的第二部分,本篇文章总结第三部分,也是最后一部分。这部分主要讲解核心技术的源代码分析,因为篇幅和能力原因,分析的不会太详细,后续深入研究后再专门写文章。希望大家能从「阅读笔记」3篇文章中,对Spring Boot提供的功能有所了解,在项目中进行实践,不断从繁琐重复的开发中解放出来。
我也是最近刚开始了解Spring Boot,计划今年在项目中实践,到时会总结实践过程中的一些问题和经验,分享给大家。想一起学习、实践、交流的朋友,可以扫描文章下方的二维码,关注我的个人公众号,感谢大家。
本篇主要从以下几个方面总结:
- Spring Boot自动配置实现原理;
- Spring Boot数据访问实现原理;
- 微服务核心技术实现原理;
题外话
春节假期很快过去了,明天就要上班了,相信大家还是意犹未尽,没吃够、没玩够、没和家人待够。今年因为个人原因,没有回家过年,心理最牵挂的还是爷爷奶奶,他们都80多了,希望她们身体健康,开开心心地度过生命最后的旅程。
不管怎样,大家要切换频道了,回归到正常的工作中,好好努力,一起期待明年和家人更好的团聚。
Spring Boot自动配置实现原理
使用Spring Boot创建一个简单的Web项目很简洁,不需要太多配置,编写一个简单的主程序就行:
@SpringBootApplication
public class ConfigApplication{
public static void main(String[] args) {
SpringApplication.run(ConfigApplication.class, args);
}
主程序分析
首先分析下run方法(省略不关键的部分代码):
public ConfigurableApplicationContext run(String... args) {
ConfigurableApplicationContext context = null;
configureHeadlessProperty();
SpringApplicationRunListeners listeners = getRunListeners(args);
listeners.started();
try {
ApplicationArguments applicationArguments = new DefaultApplicationArguments(
args);
ConfigurableEnvironment environment = prepareEnvironment(l