首页  

bootstrap.yaml 和 application.yaml     所属分类 springboot 浏览量 154
在Spring Boot项目中,bootstrap.yaml 和 application.yaml 是两个常见的配置文件,
它们的主要区别在于加载顺序和使用场景。

bootstrap.yaml 用于配置应用启动时的关键属性,特别是与Spring Cloud相关的配置。
application.yaml 用于配置应用的常规属性。


在 Spring Cloud 项目中,Nacos 作为配置中心时,
配置通常放在 bootstrap.yml 或 bootstrap.properties 中,
而不是 application.yml 或 application.properties。
这是因为 Spring Cloud 应用启动时,会先加载 bootstrap 配置文件,
确保配置中心的相关配置(如 Nacos 的地址、命名空间等)在应用启动初期就可用。

禁用Nacos配置加载
spring.cloud.nacos.config.enabled: false

禁用服务注册
启动类 @EnableDiscoveryClient(autoRegister = false)
或者
spring.cloud.nacos.discovery.enabled=false
或者
spring.cloud.service-registry.auto-registration.enabled=false





1. 加载顺序
bootstrap.yaml: 
这个文件在Spring Boot应用启动时最先加载,早于application.yaml。
它通常用于配置应用启动时所需的关键属性,如Spring Cloud Config的相关配置。

application.yaml: 
这个文件在bootstrap.yaml之后加载,用于配置应用的常规属性。

2. 使用场景
bootstrap.yaml: 
主要用于配置Spring Cloud应用的外部化配置(如从配置服务器获取配置)、加密/解密、以及应用启动时需要的其他关键配置。
例如:


spring:
  cloud:
    config:
      uri: http://config-server:8888
      fail-fast: true


application.yaml: 
用于配置应用的常规属性,如数据库连接、服务器端口、日志配置等。
例如:


server:
  port: 8080
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/mydb
    username: root
    password: password


3. 依赖
bootstrap.yaml: 
通常与Spring Cloud相关,依赖于spring-cloud-context库。
如果项目中没有使用Spring Cloud,可能不需要这个文件。

application.yaml: 
是Spring Boot的标准配置文件,适用于所有Spring Boot应用。

4. 优先级
bootstrap.yaml: 由于它先加载,其中的配置优先级高于application.yaml。
如果在bootstrap.yaml中定义了某个属性,而在application.yaml中也定义了相同的属性,
bootstrap.yaml中的值会覆盖application.yaml中的值。

5. 环境特定配置
bootstrap.yaml: 也可以有环境特定的配置文件,如bootstrap-dev.yaml、bootstrap-prod.yaml等。

application.yaml: 同样支持环境特定的配置文件,如application-dev.yaml、application-prod.yaml等。



上一篇     下一篇
npm install

npm run dev

若依框架前端基础知识

LocalStorage 和 SessionStorage

vue3 script setup

vue3 Vue.createApp 说明