spring boot的默认配置文件在哪里?

例如mybatis,在yml中添加配置信息,就可以使用mybatis了。问题是yml中配置是如何来的?
可以通过以下方式找到:我们都知道springboot的开发者,把一些我们常用的开发环境进行了默认的配置,拿这些配置文件在哪里呢, 我们在开发springboot的项目时是依赖maven进行开发的。导入的依赖包都在 Maven Dependenceis 中 在我们导入的依赖都是jar包,默认的配置信息存在 包名字以 *-autoconfigure.jar 形式结尾的jar包中,springboot的默认配置文件 配置文件的名字为:/META-INF/spring-configuration-metadata.json。 注意点: -autoconfigure.jar 这种包很有可能 会有多个,因为这些-autoconfigure.jar 包 与你在 maven中的依赖 有关, springboot 并不是把 所有的默认配置都写在 了同一个文件中,而是分布在springboot的各个依赖的节点中。springboot的每一个 依赖节点比如: org.springframework.boot spring-boot-starter-data-jpa 在这个依赖中 对应的 默认配置信息在maven Dependenceis中的包为:spring-boot-autoconfigure-XXX.jar,XXX 代表版本号, 根据你自己的引入的版本决定。 在比如mybatis与springboot的结合的依赖节点: org.mybatis.spring.boot mybatis-spring-boot-starter 1.3.1 在这个依赖中 对应的 默认配置信息在maven Dependenceis中的包为:mybatis-spring-boot-autoconfigure-1.3.1.jar 我们可以在这种包中找到: /META-INF/spring-configuration-metadata.json。文件 这里面存在默认默认的配置。 当然还有一个文件/META-INF/additional-spring-configuration-metadata.json,这个文件中也是默认配置,是 /META-INF/spring-configuration-metadata.json 文件中的补充配置信息 我发现一下两个依赖节点对应的配置jar包是同一个 默认配置jar包:/META-INF/spring-configuration-metadata.json。 org.springframework.boot spring-boot-starter-data-jpa org.springframework.boot spring-boot-starter-web 当我去掉spring-boot-starter-data-jpa的依赖的时候,默认配置中的的 5776行处有配置 { “name”: “spring.jpa.hibernate.naming.physical-strategy”, “providers”: [{ “name”: “class-reference”, “parameters”: {“target”: “org.hibernate.boot.model.naming.PhysicalNamingStrategy”} }] }, 但是org.hibernate.boot.model.naming.PhysicalNamingStrategy 类在我们的开发环境中不存在, 因为我们去除了依赖spring-boot-starter-data-jpa,自然就去除了关于jpa 的jar包,经过测试springboot 依然还是很好的额启动, 并不会报class not found Exception,这说明springboot在加载默认配置文件的时候会自动的过滤掉没有对应jar包的配置文件

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值