在学习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…

完()

SpringBoot @EnableAutoConfiguration exclude属性失效相关推荐

  1. SpringBoot 中@Autowired 注入失效原因及解决方法

    SpringBoot 中@Autowired 注入失效原因及解决方法 1.原因分析 1.1 包没有被扫描到通过@Autowired注入的类所在的包路径不在Application启动类所在的包/子包路径 ...

  2. jsp在ie6中css的margin属性失效问题

    今天写一个登录页面,其中输入用户名和密码的div我使用了margin:0 auto的css来使它居中.结果在chrome和firefox下面显示正常,在ie6下这个margin属性失效.查看了页面和c ...

  3. html自动播放视频不可用muted,html5_videoaudio的autoplay属性失效的解决方法

    autoPlay属性失效的原因 chrome 66以上的版本为了避免多媒体标签产生随机噪音,规定了不为静音的标签不能自动播放,需手动触发开始播放,标签定义为静音(muted: true)才可以自动播放 ...

  4. 微信小程序之解决background-image属性失效

    在做微信小程序时,当遇到需要给某个组件加背景图片时,通常是使用 background-image 这个属性.在以往的网页程序中,直接在这个属性后面加上相对路径或绝对路径,便可以将背景图片显示出来.但是 ...

  5. jQuery设置attr()对样式属性失效的原因

    jQuery设置attr()对样式属性失效的原因 因为样式属性都是写在style里面,在原生js中,对样式属性的设置都是通过: 元素.style.样式属性=属性值来进行设置.所以在jquery中遵循了 ...

  6. ElementUI的el-card中,内部元素margin属性失效问题

    问题: 在使用 el-card 时内部的分页组件超出了 el-card 的范围,而且 margin 属性失效,无法控制,很不好看: 解决方法: 给分页组件外层加一个 div,定位属性 position ...

  7. el-tooltip disabled属性失效

    el-tooltip disabled属性失效 动态判定是否出现el-tooltip的时候出现了这么一个问题:点击第一次会出现效果,后面点击即使满足条件 !tag.name.length 也再也没有出 ...

  8. a标签disabled属性失效

    之前写JQuery项目时遇到了a标签disabled属性失效的情况,给a标签设置一个pointer-events: none可以解决,或者去掉disabled属性,动态添加forbid-click类也 ...

  9. 关于微信小程序textarea中的maxlength属性失效问题

    关于微信小程序textarea中的maxlength属性失效问题 代码菜鸡今天在编写小程序前端代码时,遇到了一个问题:textarea输入140个字以后,就再也输不进去了,想着设置一下maxlengt ...

  10. springboot EnableAutoConfiguration

    http://blog.javachen.com/2016/02/19/spring-boot-auto-configuration.html 自动配置 在启动类上使用@EnableAutoConfi ...

最新文章

  1. Java Enumeration接口
  2. 公路修建问题(二分+最小生成树)
  3. NeurIPS 2019 | 一种对噪音标注鲁棒的基于信息论的损失函数
  4. (LeetCode 21)Merge Two Sorted Lists
  5. iOS进阶之iOS中实例变量与属性的区别(7)
  6. 安全性问题(数据篡改(拿到别人的URL,篡改数据(金额)发送给系统))
  7. 关键字_Java Volatile关键字
  8. 推荐一款神器-VBAC#代码编辑管理器
  9. 编程从业五年的十四条经验,句句朴实
  10. LeetCode 1971. Find if Path Exists in Graph(图的遍历)
  11. Python re 库的正确使用姿势
  12. 前端js嵌套遍历优化_2020web前端最新面试面经:阿里、字节、小红书
  13. bearer token_四,接口认证方式:Bearer Token
  14. EF安装和更新数据库
  15. VirtualBox开发环境的搭建详解
  16. Java连接各种数据库
  17. 运维服务器环境梳理方案,运维工作梳理
  18. Ios 12 linux,iOS12.3~12.4.2支持越狱?包括 A12 设备
  19. Python-常用模块有哪些
  20. 苹果macOS 13 Ventura beta版如何转成正式版?如何将 MacOS Beta 版更新为正式版?

热门文章

  1. 恒指赵鑫:8.9恒指德指实盘指导记录总结与晚盘前瞻
  2. onkeyup+onafterpaste 只能输入数字和小数点--转载
  3. EasyUI(DataGrid修改删除)
  4. Cisco 实现路由防火墙 双机热备(项目记录)
  5. 大数据征信是个人信用风险管理的必然趋势
  6. 就业指导期末试题(含正确答案)
  7. 中小型企业应该选择什么样的OA系统?
  8. oracle 运行分钟,oracle 整点运行或每5分钟运行一次
  9. 支付宝支付-APP支付服务端详解
  10. 4.25 C语言练习(然后是几点:根据起始时间和流逝的时间计算出终止时间。计算当前时间经过那么多分钟后是几点,结果也表示为四位数字。)