Spring Boot 中application.yml与bootstrap.yml的区别

 更新时间:2018年04月28日 11:20:12   作者:msg1122  
其实yml和properties文件是一样的原理,且一个项目上要么yml或者properties,二选一的存在。这篇文章给大家介绍了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 由父Spring ApplicationContext加载。

父ApplicationContext 被加载到使用 application.yml 的之前。

2.配置区别

bootstrap.yml 和application.yml 都可以用来配置参数。

•bootstrap.yml 可以理解成系统级别的一些参数配置,这些参数一般是不会变动的。
•application.yml 可以用来定义应用级别的,如果搭配 spring-cloud-config 使用 application.yml 里面定义的文件可以实现动态替换。

使用Spring Cloud Config Server时,应在 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

当使用Spring Cloud时,通常从服务器加载“real”配置数据。为了获取URL(和其他连接配置,如密码等),您需要一个较早的或“bootstrap”配置。因此,您将配置服务器属性放在bootstrap.yml中,该属性用于加载实际配置数据(通常覆盖application.yml [如果存在]中的内容)。

当然,在一些情况上不用那么区分这两个文件,你只需要使用application文件即可,把全部选项都写在这里,效果基本是一致的,在不考虑上面的加载顺序覆盖的问题上。

总结

以上所述是小编给大家介绍的Spring Boot 中application.yml与bootstrap.yml的区别,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • Java逃逸分析详解及代码示例

    Java逃逸分析详解及代码示例

    这篇文章主要介绍了Java逃逸分析详解及代码示例,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • Java使用JSON传递字符串注意事项解析

    Java使用JSON传递字符串注意事项解析

    这篇文章主要介绍了Java使用JSON传递字符串注意事项解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • 详解SpringCloud微服务架构之Hystrix断路器

    详解SpringCloud微服务架构之Hystrix断路器

    本篇文章主要介绍了详解SpringCloud微服务架构之Hystrix断路器,Hystrix是一个库,通过添加延迟容差和容错逻辑来帮助您控制这些分布式服务之间的交互,有兴趣的可以了解一下
    2018-01-01
  • spring整合redis以及使用RedisTemplate的方法

    spring整合redis以及使用RedisTemplate的方法

    本篇文章主要介绍了spring整合redis以及使用RedisTemplate的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • MybatisPlus QueryWrapper常用方法实例

    MybatisPlus QueryWrapper常用方法实例

    MyBatis-Plus(opens new window)是一个MyBatis(opens new window)的增强工具,在 MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生,下面这篇文章主要给大家介绍了关于MybatisPlus QueryWrapper常用方法的相关资料,需要的朋友可以参考下
    2022-04-04
  • Java工厂模式优雅地创建对象以及提高代码复用率和灵活性

    Java工厂模式优雅地创建对象以及提高代码复用率和灵活性

    Java工厂模式是一种创建型设计模式,通过定义一个工厂类来封装对象的创建过程,将对象的创建和使用分离,提高代码的可维护性和可扩展性,同时可以实现更好的代码复用和灵活性
    2023-05-05
  • Spring Boot整合阿里开源中间件Canal实现数据增量同步

    Spring Boot整合阿里开源中间件Canal实现数据增量同步

    这篇文章主要为大家介绍了Spring Boot整合阿里开源中间件Canal实现数据增量同步示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • springboot访问请求404的原因及解决办法

    springboot访问请求404的原因及解决办法

    在使用Spring Boot开发应用程序时,有时可能会遇到访问请求出现404错误的情况,即请求的资源未找到,这篇文章主要给大家介绍了关于springboot访问请求404的原因及解决办法,需要的朋友可以参考下
    2023-09-09
  • 详解Java8中接口的默认方法和静态方法

    详解Java8中接口的默认方法和静态方法

    Java 8是Java语言的一个重要版本,其中引入了许多新特性和改进,其中一个值得关注的特性是接口的默认方法和静态方法,本文就来和大家简单讲讲吧
    2023-05-05
  • Springboot2.1.6集成activiti7出现登录验证的实现

    Springboot2.1.6集成activiti7出现登录验证的实现

    这篇文章主要介绍了Springboot2.1.6集成activiti7出现登录验证的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12

最新评论