随着互联网的兴起Spring一直占据着Java領域轻量级开发框架的王者地位。
但是Spring框架发展十几年来框架越来越庞大、人员配置原理项越来越多,造成开发使用起来非常复杂
为此Spring官方推出了SpringBoot这个项目,其设计初衷就是为了简单、快速的开发Spring应用!
Spring?Boot是一种简化原有Spring应用繁杂人员配置原理的微框架该框架使用了特定的方式来进行人员配置原理,从而使开发人员不再需要定义样板化的人员配置原理使开发者从繁杂的各种人员配置原理文件中解脱絀来。
通过Spring?Boot能够很简单、很快速构建一个优秀的、产品级的Spring基础应用
- 可快速构建独立的Spring应用
- 提供场景启动器简化构建人员配置原理
- 基礎Spring人员配置原理自动实现,无需繁琐的xml人员配置原理文件
- 整合常用Spring和第三方依赖库
- 直接嵌入Web应用服务器(无需部署WAR包)
既然SpringBoot能够不再像基礎SSM那样对整个项目人员配置原理来人员配置原理去那么作为一个合格的程序员,如果会用SpringBoot缺不知道他自动人员配置原理的原理是什么那岂不是多尴尬。
所以本文会用很通俗易懂的语言来解释一下SpringBoot的自动装配原理(当然刚学习SpringBoot的小白看看一看这个文章对你学习更有帮助思密达)
我们这里已经新建好了一个SpringBoot的Demo我们进入他的主人员配置原理类
这样的话既然包的路径找到了,就可以装人员配置原理了
这个方法裏会发现一个loadFactoryNames的方法下面有一句官方的提示文本信息,翻译过来就是说
在META-INF / spring.factories中找不到自动人员配置原理类如果使用的是自定义包装,请確保该文件正确
这里就显而易见了,他们是想要干嘛没错,他们是在扫描META-INF/Spring.factories下的资源文件
OK! 这样我们就知道loadFactoryNames这个方法的作用是很重要嘚了,但是可能到这里我们有些朋友还有些不知所以然没关系,我们继续向下走看一看这个loadFactoryNames方法到底是什么东西。OK!我们点进入看看
發现他会返回一个这个方法loadSpringFactories口头翻译加载Spring容器,这是不是更懂一点了好的,我们再点进去看一看
这一行代码我们拿出来看看
到这里基夲清楚了他会从META-INF/spring.factories中获取资源,然后通过Properties加载资源文件这样人员配置原理是不是就自动加载进来了啊。
将这些值作为自动人员配置原理類导入到容器中
自动人员配置原理类就生效,帮我们进行自动人员配置原理工作
以前我们需要自己人员配置原理的东西,自动人员配置原理类都帮我们完成了