springboot自动配置

Posted code_locking

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot自动配置相关的知识,希望对你有一定的参考价值。

springboot是在spring基础上的一次跃迁,是约定先于配置的完美实践。

最近在学习springboot相关内容,看到自动配置这个知识点时,着实有些困惑,网上大多博客多介绍何为springboot自动配置及其实现原理,读完依然还有些云遮雾绕。

鉴于现今我浅薄的spring知识,并不深刻知道springboot自动配置相较于spring的原始配置之间究竟有何不同,遂遍历多篇相关博客并请教大佬,才堪堪在逻辑上对二者之区别略有知晓。

我想从spring之XML配置到spring之注解配置后至springboot自动配置这个逐渐演进的过程来说明此中缘由,或许有助于各位理解。

spring之XML配置

此阶段的spring若要将第三方jar包导入至spring的IOC容器,需要如下几个步骤:

  • maven导入第三方jar包依赖;

  • 在spring的默认配置文件(XML文件)中创建bean标签,表明需要导入的服务类;

  • 在第三方jar所属配置文件(XML文件)中对这个依赖进行若干参数配置;

这样,当启动spring应用时,此jar包相关类便会被spring收集并注册到spring的IOC容器之中。

然而,这样操作的结果是若引入jar包太多,则spring的默认配置文件中的bean标签将会数不胜数,终至配置文件太过臃肿。因此,基于javaConfig的注解配置方式应运而生。

spring之注解配置

为了不使spring配置文件体量太大,javaConfig定义多个注解来完成对第三方jar包的引入。

  • maven导入第三方jar包依赖;

  • 舍弃传统的基于xml配置文件的配置方式,使用@Configuration和@Bean两个注解在代码中创建服务配置类;

  • jar包若干参数便可在这个服务配置类中定义,也可在jar包所属配置文件中配置;

这样的操作方式在大型项目中使xml配置文件的个数和大小锐减,项目的整个工程结构更加清晰,便于开发和维护。

然而,喜欢化繁为简的软件工程师们就这样满足了吗???

当然不会!!!

为了践行约定先于配置的工程思想,springboot横空出世。springboot的出现,再一次大大简化了启动一个web项目需要的步骤。我们不需要再自己启动一个servlet容器,

也不需要传统xml配置文件的繁琐配置,只需要简单的将所需jar包引入到pom文件,那么一个简单的web项目就可以启动。当然,我们也可以在springboot的application.yml文件中进行个性化配置。

springboot的自动配置就简化了jar包引入,我们不需要再自己写服务配置类,@EnableAutoConfiguration注解已经帮助我们将依赖bean注入到IOC容器,我们只需要在代码中使用@Autowired注解

就可以轻松获取。springboot自动配置提供了一系列约定配置,当我们想进行个性化定制时,这些约定配置便被覆盖。

如果想深入了解springboot自动配置的实现机制,可参考其它博客。

本文是在参考其它博文的基础上通过逻辑整理得来,若有错误之处,请不吝赐教。

以上是关于springboot自动配置的主要内容,如果未能解决你的问题,请参考以下文章

从零开始配置vim(27)——代码片段

从零开始配置vim(27)——代码片段

从零开始配置vim(27)——代码片段

[AndroidStudio]_[初级]_[配置自动完成的代码片段]

[AndroidStudio]_[初级]_[配置自动完成的代码片段]

[AndroidStudio]_[初级]_[配置自动完成的代码片段]