Spring Boot 外部化配置优先级
1、优先级排序开发者通过编程方式提供的配置使用SpringApplicationBuilder或者SpringApplication直接设置的属性。命令行参数运行时传递给应用程序的命令行参数如java -jar app.jar --server.port8081。Java系统属性System properties通过 JVM 参数传递给应用程序如-Dserver.port8081。操作系统环境变量在操作系统级别设置的环境变量。RandomValuePropertySource在配置文件中可以使用${random}来生成随机数作为属性值。JAR 包外部的 application-{profile}.properties 或 application-{profile}.yml位于外部配置文件中的 profile-specific 配置。JAR 包内部的 application-{profile}.properties 或 application-{profile}.yml位于 JAR 包内部的 profile-specific 配置。JAR 包外部的 application.properties 或 application.yml在 JAR 的同级目录下的配置文件。在配置服务器中的属性使用 Spring Cloud Config Server 时配置服务器中的属性具有较高优先级。JAR 包内部的 application.properties 或 application.yml在 JAR 包的类路径根目录下的配置文件。Configuration 注解类上的 PropertySource在代码中使用PropertySource注解加载的配置。通过 SpringApplication.setDefaultProperties 指定的默认属性在应用程序启动时设置的默认属性。Spring Boot 允许你通过设置spring.profiles.active和spring.config.location属性来激活特定的配置文件和指定配置文件的位置进一步提供灵活的配置管理。以上列表是按照配置源的优先级排序的。如果你在多个位置定义了相同的属性那么按照这个列表顺序优先级越高的配置源将覆盖优先级较低的同名属性。Apollo阿波罗是一个由携程框架部门开源的配置中心服务旨在为分布式系统提供集中式的配置管理服务。在Spring Boot应用中集成Apollo后Apollo中的配置属性将会和Spring Boot的本地配置文件比如application.properties或application.yml等共同作用于应用配置。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2416019.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!