Spring Boot 中application.yml与bootstrap.yml的区别
yml与properties
其实yml和properties文件是一样的原理,且一个项目上要么yml或者properties,二选一的存在。
推荐使用yml,更简洁。
bootstrap与application
1.加载顺序
这里主要是说明application和bootstrap的加载顺序。
•bootstrap.yml(bootstrap.properties)先加载
•application.yml(application.properties)后加载
bootstrap.yml用于应用程序上下文的引导阶段。
bootstrap.yml由父SpringApplicationContext加载。
父ApplicationContext被加载到使用application.yml的之前。
2.配置区别
bootstrap.yml和application.yml都可以用来配置参数。
•bootstrap.yml可以理解成系统级别的一些参数配置,这些参数一般是不会变动的。
•application.yml可以用来定义应用级别的,如果搭配spring-cloud-config使用application.yml里面定义的文件可以实现动态替换。
使用SpringCloudConfigServer时,应在bootstrap.yml中指定:
spring.application.name spring.cloud.config.server.git.uri
3.一些加密/解密信息
实例:
bootstrap.yml spring: application: name:service-a cloud: config: uri:http://127.0.0.1:8888 fail-fast:true username:user password:${CONFIG_SERVER_PASSWORD:password} retry: initial-interval:2000 max-interval:10000 multiplier:2 max-attempts:10
当使用SpringCloud时,通常从服务器加载“real”配置数据。为了获取URL(和其他连接配置,如密码等),您需要一个较早的或“bootstrap”配置。因此,您将配置服务器属性放在bootstrap.yml中,该属性用于加载实际配置数据(通常覆盖application.yml[如果存在]中的内容)。
当然,在一些情况上不用那么区分这两个文件,你只需要使用application文件即可,把全部选项都写在这里,效果基本是一致的,在不考虑上面的加载顺序覆盖的问题上。
总结
以上所述是小编给大家介绍的SpringBoot中application.yml与bootstrap.yml的区别,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!