在学习SpringBoot的时候,入了不少的坑。今天学习@SpringBootApplication里面的@EnableAutoConfiguration注解的exclude属性的,加载配置中,发现了属性失效的case

病状:exclude属性不起作用,如下:

根治:首先我们要知道exclude这个属性的使用说明,说明exclude就是说一下这个@EnableAutoConfiguration这个注解了

我们都知道这个注解(@EnableAutoConfiguration)是自动装配我们容器中的bean实例的,他会从你的<  classpath  >下的类中自动生成一些bean,并且加载到context中.

看重点了,他加载的是classpath下的Bean.我么看一下springboot的源码

看到SpringFactoriesLoader这个类会加载classpath下面的META-INF/spring.factories文件下面的所配置的所有bean

因为SpringBoot是一个全能框架,所以他的扩展方面也是很强的。我们使用springboot的时候必然是用maven.那么如果项目要引用第三方配置,或者classpath的配置。我么通过spring.factories文件就可以实现。下面是一个小case

两个maven项目springboot 是主要的项目。我们springboot这个项目引用dev这个项目里面的某个配置的时候。就需要将两个项目做关联。我们可以在springboot这个项目里面加入dev这个项目的maven坐标,如下:

boot里面引用dev的坐标之后两个项目就有所关联了,现在我们引用dev里面的配置。有两种结果

第一种:如果你的启动类和你引用的配置类在一个包底(包名一样或者在包的子包下)下,那么直接获取是没问题的因为有@ComponentScan这个注解

第二种:就是没在一个包下,@ComponentScan这个注解也没有扫描那个包。我们就可以通过spring.factory来配置。比如在dev这个项目中:如下:

内容是下面的这个截图同样是KEY-VALUE形式的

这里的名字不能更改的,不然不起作用,通过这样配置然后再在springboot中引用dev的配置就可以了。到这里应该就知道为什么exclude这个属性不生效了,因为他们没有在同一个包下面@ComponentScan这个注解做了自动扫描没有扫描到这里面的bean

加载spring.factories文件返回一个spring[]的数组会全部注入到spring ioc容器中。所以exclude这个属性是控制的spring.factories这个文件里面的注入ioc容器的bean...

完()

最新文章

  1. MySQL字符集转换引发插入乱码问题
  2. 一张Windows版本发展图——纪念XP服役13你年
  3. 转载: C++ 转换构造函数 和 类型转换函数
  4. 21.Merge Two Sorted Lists(链表)
  5. awk 查找文件长度 删除
  6. js与DOM初步:访问html元素
  7. Factorization Machines 学习笔记(四)学习算法
  8. java 局部变量几点笔记
  9. 十倍效能提升——Web 基础研发体系的建立
  10. pl/sql进阶--例外处理
  11. 当input中的type值为file时,各浏览器的表现形式不同
  12. BAT批处理文件,脚本时间值%time:~0,2%%time:~3,2%%time:~6,2%的用法。
  13. 【算法python实现】 -- 不同路径II
  14. 大数据在教育中的应用 part2笔记
  15. 关于windows 7系统下开启休眠功能的方法
  16. [PY3]——threading.Event
  17. 牛客网NOIP赛前集训营-提高组(第六场)B-选择题[背包]
  18. Redis Keys 命令 - 查找所有符合给定模式( pattern)的 key
  19. 2018-2019-2 《网络对抗技术》Exp0 Kali安装 20165222
  20. mongdb的聚合管道

热门文章

  1. 记录一个h5页面生成canvas画布做签名的js插件--signature_pad
  2. django-URL路由系统
  3. 【oracle】处理锁表
  4. 9.consul获取服务实例,调用测试
  5. [RN] 阿里 ant-design 菜单比较丰富 https://github.com/ant-design/ant-design-mobile
  6. virtualbox安装问题总结
  7. 第10组 Alpha事后诸葛亮
  8. 几句话总结一个算法之Policy Gradients
  9. 关于Echarts柱状图实现的细节
  10. 一张MGR切换的图,不解释