个人小白入门理解:spring-boot自动装备配置原理

                spring-boot作为当下炙手可热的企业级开发框架,之所以能够被大众所接受的原因有很多,我想很多和我一样才入门的小白之所以喜欢这框架的原因就是省心,便捷,不能配置繁琐的xml配置

        除了spring-boot的无需配置繁琐的xml的原因之外,作为入门的小白,还有一个原因就是如官方说的--just-run,要知道作为一个企业级项目而言,我们很多时间都是浪费在了启动与关闭tomcat的痛苦等待中,所以也被调侃为程序员的“喝茶时间”,作为小白,我想谈谈个人对spring-boot的自我配置的理解:

        我比较喜欢的用spring-boot的原因就是直接引入依赖,无需讲其他的花里胡哨的东西,真的为我们写代码的码农解约了很多时间,提高了工作效率,spring的依赖只要被分为两部分,其一就是每一个项目中的相同固定的代码,如像怎么引入sqlSessFactoryBean、怎么引入事务管理呀,这种比较死板的代码,就可以把这种重复劳动的事交给spring-xxx-stater去处理;其二就是每个项目中代码有差异的部分代码,就是提取出来,放入指定外置配置文件中去(一般个人比较习惯application.properties/yml)统一管理,一旦当出现bug中或者运行时哪里出现问题时,也能准确定位问题

        我们知道,要弄懂自动配置参数,肯定要从基本的注解开始着手,而首选第一个核心直接就是有main方法Application类注解

深入该注解我们会发现

大致就有这七中注解,其中1中的注解全是元注解,没有什么争论的,2中的注解眼看就是标志定位的该一个配置类,3中就是标志该注解为自动启动配置注解,4中的是标志的选择性扫描的那些包

毋庸置疑,我们关心的3中自动配置的注解,它实现了自动装配的功能

我们打开注解也容易看出,这注解是扫描了需要自动配置的包的,而扫描的哪些包就和注入的依赖有关系了,我们列举mybatis为例:

        我们在使用mabatis的时候,首先第一步都是导入了需要使用的依赖,mybatis-spring-boot-starter,要知道任何依赖都是人为书写的,只是我们在使用的时候如果本地仓库存在就直接引用而已,而作为一个starter依赖而言,必然会存在对应的spring.fatories文件,打开配置文件

就发现,这个fatories文件中就标注了 那些类需要被自动配置,这就和开始核心注解上的

@SpringbootApplication核心直接就联系上了

 

我们打开其中的一个被要求自动配置的类看,发现很多熟悉的东西

 

里面详细列举了需要配置的sqlSessionFactory需要的DataSource,怎么联系起来,但是DataSource所需要的连接信息如、url 、username、password等从哪里来呢?我也是第一次费了半天时间才看明白:

        原来详细的信息是写在了MybatisProperties中去了(途中标红部分),我们打开看看会发现

里面写了需要以mybatis开头的字段,继而还有

typeAliasesPackage、 mapperLocations、configLocation这些详细要注解的内容,刚好我们可以发现

配置文件刚好是这种格式:

这就直接表面了,在类MybatisPropertie中就直接把外置配置类联系了起来,间接把MybatisAutoConfiguration和外置配置类联系了起来,而在starter依赖扫描类路径时,又自动加载了MybatisAutoConfiguration类,从而完成了通过核心注解@SpringBootApplication开始到自动配置第三方框架依赖的过程 最终从运行主类就自动装配第三方框架的全过程

 

 

 

 

 

 

 

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值