SpringBoot实现自动化配置

       周知,SpringBoot较Spring MVC来说,对其进行了二度封装,其中最大的亮点在于简化了大量配置文件,由之前繁琐的xml配置文件演变成简便清晰的配置类,那对于SpringBoot来说如何实现自动化配置,可以一探究竟。

 

       首先在SpringBoot项目的主启动类中,从@SpringBootApplication注解点进去,可以看到使用了@EnableAutoConfig注解,该注解中引入了自动配置选择器,即AutoConfigurationImportSelector类,查看父类可知,在spring-boot-autoconfigure.jar包-->META-INF下-->spring.factories中,定义了SpringBoot支持的所有组件,组件会在工程启动时,进入IOC容器中。

 

        在SpringBoot支持的所有组件中,是不是所有组件都会生效?  显然不是,这里可以涉及到两个问题,第一个,组件何时会生效?第二个,声明的组件只是模型,至于模型对应的属性何在?这里可以讲到SpringBoot的@condition注解,顾名思义,condition-条件,这个注解用于控制组件是否生效,以redis为例,当pom文件中引入redis相关pom依赖后,类路径下会引入redis相关jar包,当springboot工程加载时,扫描到该redis jar包相关路径,会让该组件生效,在SpringBoot工程启动时,加载到IOC容器中。其次,组件中对应属性就依赖于我们工程中的配置类,配置类中会定义该组件的属性,例如IP,端口等配置信息。

 

        因此,通过以上SpringBoot实现自动化配置的流程,我们可相关推理出springboot项目如何去整合其他框架,还是以redis为例,第一让组件生效,需要我们添加redis相关pom依赖,让SprignBoot工程扫描到类路径中的redis相关信息。第二,在application.properties全局配置文件中,配置redis组件相关的属性信息。

 

         相比于之前spring mvc框架中对于一个组件的构建,需要在xml文件中声明该组件信息,然后再基于该组件进行属性配置。其一,对编码阅读简洁性来说。不够简洁友好。其二,组件的声明步骤由spring boot进行封装,简化了代码量。

相应截图信息如下:

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值