springboot不加载bootstrap.properties⽂件
1、⾸先说⼀下官⽹对bootstrap和application两种配置⽂件的区别:
Spring Cloud 构建于 Spring Boot 之上,在 Spring Boot 中有两种上下⽂,⼀种是 bootstrap, 另外⼀种是 application, bootstrap 是应⽤程序的⽗上下⽂,也就是说 bootstrap 加载优先于 applicaton。bootstrap 主要⽤于从额外的资源来加载配置信息,还可以在本地外部配置⽂件中解密属性。这两个上下⽂共⽤⼀个环境,它是任何Spring应⽤程序的外部属性的来源。bootstrap ⾥⾯的属性会优先加载,它们默认也不能被本地相同配置覆盖
2、实际中,我遇到的情况是,我单独使⽤的springboot,不会去加载bootstrap命名的配置⽂件,⽽会加载application命名的配置⽂件,和官⽅解释有点出⼊,没到原因。
3、springcloud使⽤时,如果要使⽤注册中⼼⼀类的配置,⽐如consul注册,这样就需要使⽤bootstrap命名的配置⽂件,这样才能读到相应配置信息。当然如果是⼀些公共配置,等项⽬运⾏起来后都会去加载。
4、看到⽹上很多⼈对这俩区别的根本原因是,加载类不同,⼀个是⽗级context,⼀个是context。我猜想,正式因为springboot和springcloud是不同功能的框架,所以在加载配置信息时也是有区别的。所以
综合来说,使⽤springboot就⽤application,使⽤springcloud就⽤bootstrap,也可能会有混合使⽤的情况,现在会⽤就⾏了。若有⼤神有更详细的讲解,还望指导⼀下。
bootstrap项目5、springboot版本是1.5.2。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论