springboot的出现解决了以往spring繁琐配置的问题,以项目中配置redis为例,以往配置了redis-config以后还须要在spring配置文件里面配置jedisTemplate等类。这样的话显得配置比较繁重。 自从有了springboot,咱们只须要调用工程在application.yml(或者application.properties)文件里面配置redis-config就行了,像jedisTemplate这些对象交给starter来进行初始化并装入spring容器中就完事了。这些starter打包成jar包导入调用工程就行了。并且这些starter能够被复用,其余工程就不须要再进行复杂的配置了。redis
- 在源文件目录下编辑一个properties类来接收并组装配置在调用工程application.yml(或者application.properties)文件里面的配置项。 而这个properties类通常会加上 @ConfigurationProperties注解
- 有了第一步的配置类,咱们在源文件目录里面新建一个自动化配置类,并在类上加上 @Configuration @EnableConfigurationProperties @ConditionalOnClass 这三个注解。
- 第三步,在第二部的自动化配置类中能够根据properties类来进行一些bean的初始化(好比jedisTemplate的初始化)和注入容器等操做,这个和spring基于代码配置的流程同样了经过@Configuration和@Bean注解来实现。
- 在spring.factories文件里面将这个自动化配置类的全类名加入,文件内容相似
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.XXX.XXXAutoConfiguration
复制代码
通过这几个步骤并进行自测,再将这个工程打成jar包并导入调用工程。这样调用工程只须要依赖这个jar包便可,并在调用工程本身的目录下编写application.yml的配置便可完成spring 对redis相关bean(本例就是jedisTemplate)的加载和配置。spring
而如今spring官方也自带了不少starter,有兴趣的同窗能够去看看它们的实现。springboot
而我也是刚刚接触springboot,对它的自动化装配流程感到很是的好奇。接下来的文章将会对springboot 自动化装配流程进行一个详细的介绍。bash