前言
提问:springboot项目,开发环境、测试环境和生产环境配置文件如何分开表示?
答:多profile文件方式
1、多环境配置(profile)
1.1、properties文件配置
application.properties:主配置文件
主配置文件配置决定加载哪个环境的配置文件
spring.profiles.active=dev
根据spring.profiles.active值,选择加载不同环境配置
application-{profile}.properties
开发、测试、生产环境配置文件:
application-dev.properties:开发环境配置文件
application-test.properties:测试环境配置文件
application-prod.properties:生产环境配置文件
1.2、YML文件配置
application.yml:主配置文件
主配置文件配置决定加载哪个环境的配置文件
spring: profiles: active:dev
根据spring.profiles.active值,选择加载不同环境配置
application-{profile}.yml
开发、测试、生产环境配置文件:
application-dev.yml:开发环境配置文件
application-test.yml:测试环境配置文件
application-prod.yml:生产环境配置文件
1.3、修改主配置文件切换配置
1.3.1、切换生产配置
#默认配置 server: port: 8080 #切换配置 spring: profiles: active: prod
1.3.2、切换开发配置
#开发环境配置 server: port: 8080 #切换配置 spring: profiles: active: dev
1.3.3、切换测试配置
#测试环境配置 server: port: 8080 #切换配置 spring: profiles: active: test
1.4、命令行激活配置文件
1.4.1、命令行激活配置文件
java -jar springboot-0.0.1-SNAPSHOT.jar--spring.profiles.active=dev
1.4.2、虚拟机参数激活
java -Dspring.profiles.active=dev -jar springboot-0.0.1-SNAPSHOT.jar
2、默认配置文件
Spring Boot启动时会扫描以下5个位置的application.properties或apllication.yml文件,并将它们作为 Spring boot的默认配置文件。
file:./config/"/
file:/config/
file:./
classpath:/config/
classpath:/
2.1、file
指当前项目根目录;
2.2、classpath
指当前项目的类路径,即resources目录。
注意事项:
位于相同位置的 application.properties 的优先级高于application.yml
所有位置的文件都会被加载,高优先级配置会覆盖低优先级配置,形成互补配置,即:
存在相同的配置内容时,高优先级的内容会覆盖低优先级的内容;
存在不同的配置内容时,高优先级和低优先级的配置内容取并集。
3、外部配置文件
可通过指定外部配置文件的路径(默认配置文件失效)
3.1、spring.config.location
java -jar xxxx.jar --spring.config.location=外部文件
3.2、spring.config.additional-location
默认配置文件公共生效,其优先级是最高。.
java -jar xxxx.jar --spring.config.additional-location=外部文件 案例
4、配置文件优先级
以下是常用的 Spring Boot 配置形式及其加载顺序(优先级由高到低)
命令行参数
配置文件(YAML文件、Properties文件)
@Configuration 注解类上的@PropertySource 指定的配置文件
通过 SpringApplication.setDefaultProperties指定的默认属性
配置文件
以上是Java Spring Boot中多环境配置文件的优先级和方法是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!

本文讨论了使用Maven和Gradle进行Java项目管理,构建自动化和依赖性解决方案,以比较其方法和优化策略。

本文使用Maven和Gradle之类的工具讨论了具有适当的版本控制和依赖关系管理的自定义Java库(JAR文件)的创建和使用。

本文讨论了使用咖啡因和Guava缓存在Java中实施多层缓存以提高应用程序性能。它涵盖设置,集成和绩效优势,以及配置和驱逐政策管理最佳PRA

本文讨论了使用JPA进行对象相关映射,并具有高级功能,例如缓存和懒惰加载。它涵盖了设置,实体映射和优化性能的最佳实践,同时突出潜在的陷阱。[159个字符]

Java的类上载涉及使用带有引导,扩展程序和应用程序类负载器的分层系统加载,链接和初始化类。父代授权模型确保首先加载核心类别,从而影响自定义类LOA


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

记事本++7.3.1
好用且免费的代码编辑器

Dreamweaver Mac版
视觉化网页开发工具

SublimeText3 Linux新版
SublimeText3 Linux最新版