Springboot配置文件Nacos和环境变量优先级详解

 更新时间:2025年06月06日 09:30:32   作者:Treasure_zz  
这篇文章主要介绍了Springboot配置文件Nacos和环境变量优先级,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

背景

我们在开发的时候,使用的k8s部署spring boot服务,服务连接nacos获取配置文件。

在配置spring boot的服务的时候,会设置环境变量,来指定spring.profile.active。后来为了方便部署,把nacos的一些配置提到了环境变量。

通过K8S 的env来进行配置。但是后来发现env不会生效,而是nacos生效。

这和平时认为的观点有些出入。因为平时配置的时候,都认为是env 环境变量的优先级比nacos要高一些。

结论

先说结论:

  • env一般配置在nacos加载之前的配置,所以认为其优先级比较高
  • nacos可以通过占位符来进行配置,如果env包含占位符的信息,则会使env生效。

所以在env一般配置决定于nacos加载的内容。

例如,active,nacos的连接配置信息。

生效的顺序如下:

越靠前优先级越高(应该是相应的越晚加载,有待考证)

nacos-{active} 配置 > nacos 配置 > java -jar 命令行配置 > 环境变量 > application-{active} > application > bootstrap-{active} > bootstrap

如果nacos里面通过 这样的${} 占位符进行替换。那么占位符的内容将更生效。

同时占位符的配置也会有优先级的顺序。

nacos 配置 充当占位符 > java -jar 命令行配置 充当占位符 > 环境变量 充当占位符 > nacos-{active} 配置 > ……

之后再补充设计的实验。

最后

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java实战之实现文件资料上传并生成缩略图

    Java实战之实现文件资料上传并生成缩略图

    这篇文章主要介绍了通过Java实现文件资料的上传并生成一个缩略图,文中的示例代码讲解详细,对我们学习Java有一定的帮助,感兴趣的小伙伴可以了解一下
    2021-12-12
  • 解读Hibernate、MyBatis有哪些区别

    解读Hibernate、MyBatis有哪些区别

    Hibernate和MyBatis是Java中常用的持久层框架,各有优势和适用场景,Hibernate通过对象关系映射简化数据库操作,适合复杂业务逻辑;MyBatis提供更高的SQL控制权,适合需要直接操作SQL的场景,选择应基于项目需求和团队习惯
    2025-01-01
  • spring boot中的properties参数配置详解

    spring boot中的properties参数配置详解

    这篇文章主要介绍了spring boot中的properties参数配置,需要的朋友可以参考下
    2017-09-09
  • MyBatis快速入门

    MyBatis快速入门

    MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。想要学好它,那就要从MyBatis基础知识学起,下面跟着小编一起来看下吧
    2017-03-03
  • 在SpringBoot: SpringBoot里面创建导出Excel的接口教程

    在SpringBoot: SpringBoot里面创建导出Excel的接口教程

    这篇文章主要介绍了在SpringBoot: SpringBoot里面创建导出Excel的接口教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-10-10
  • springboot项目中常用的工具类和api详解

    springboot项目中常用的工具类和api详解

    在Spring Boot项目中,开发者通常会依赖一些工具类和API来简化开发、提高效率,以下是一些常用的工具类及其典型应用场景,涵盖 Spring 原生工具、第三方库(如Hutool、Guava) 和 Java 自带工具,本文给大家介绍springboot项目中常用的工具类和api,感兴趣的朋友一起看看吧
    2025-04-04
  • spring-boot-maven-plugin:unknown的完美解决方法

    spring-boot-maven-plugin:unknown的完美解决方法

    这篇文章主要介绍了spring-boot-maven-plugin:unknown的完美解决方法,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • mybatis-plus 查询时排除字段方法的两种方法

    mybatis-plus 查询时排除字段方法的两种方法

    我们在开发应用时,在某些应用场景下查询有时需要排除某些字段,本文主要介绍了两种方法,具有一定的参考价值,感兴趣的可以了解一下
    2023-09-09
  • 详解Java的Hibernate框架中的Interceptor和Collection

    详解Java的Hibernate框架中的Interceptor和Collection

    这篇文章主要介绍了Java的Hibernate框架中的Interceptor和Collection,Hibernate是Java的SSH三大web开发框架之一,需要的朋友可以参考下
    2016-01-01
  • Spring AI实现智能聊天模型

    Spring AI实现智能聊天模型

    通过本文的介绍,我们深入了解了Spring AI项目的优势和特性,以及在实际应用中的快速实战示例,Spring AI作为一个高度抽象化的人工智能应用程序开发框架,为开发者提供了便捷的模型支持、灵活的功能模块交换和优化能力
    2024-11-11

最新评论