Spring Boot自动配置实战

  在Spring Boot自动配置原理中讲述了Spring Boot自动配置的原理,本篇内容就是关于该核心原理的应用,需求即当某个类存在的时自动配置这个类的bean并且这个bean的属性可以通过application.properties配置。

  一、新建maven模块

            

  二、属性配置

            

   三、判断依据类

            

   四、配置类

            

   五、注册配置

            

  此操作为自定义自动配置的关键:    

    resources下创建/META-INF/spring.factories。注意:META-INF是自己手动创建的目录,spring.factories也是手动创建的文件。在该文件中配置自定义的自动配置类。文件的内容意思就是SpringBoot启动的时候会去加载我们的HelloServiceIOC容器中

    这其实是一种变形的SPI机制,关于该机制参考SPI机制之JDK中的SPI - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)

   六、使用该starter

  SpringBoot快速搭建代码上基础上作修改

             

   该修改将同步就该pom.xml,添加依赖如下:

            

   执行main方法,启动容器。使用浏览器验证该starter生效:

            

  配置参数,如下(注意配置文件路径):

    

   验证结果:

    

   说明默认及配置文件均生效。需要注意的是这个配置文件的路径,必须是自定义starter下;对于在应用项目下resources下的配置文件验证不生效。

  实际生产中如spring boot提供的starter,引用后再应用模块修改配置文件改变相关配置的属性是有效的。所以这个问题出在哪里呢?后续验证研究。

  

posted on 2021-04-26 13:40  池塘里洗澡的鸭子  阅读(119)  评论(0编辑  收藏  举报