我对如何在Spring Boot应用程序中使用配置文件感到困惑。
假设我在pom.xml
文件中定义了配置文件,
这是我找到的不同方法。
mvnw -Pdev
mvnw spring-boot:run -Dspring-boot.run.profiles=dev
mvnw spring-boot:run -Dspring.profiles.active=dev
mvnw spring-boot:run --spring.profiles.active=dev
1 /它们之间有什么区别吗?
2 /最好的使用方法是什么?
答案 0 :(得分:2)
mvnw -Pdev
这将考虑 maven 个人资料
mvnw spring-boot:run -Dspring-boot.run.profiles = dev
这将考虑 maven 个人资料
mvnw spring-boot:run -Dspring.profiles.active = dev
这将考虑春季启动配置文件
mvnw spring-boot:run --spring.profiles.active = dev
这行不通,因为行家不了解--spring
答案 1 :(得分:1)
您不应混淆Maven配置文件和Spring配置文件-这是完全不同的东西。
mvnw spring-boot:run -Dspring.profiles.active=dev
-它告诉Spring在运行时使用哪个配置文件。
Spring配置文件-是基于活动配置文件在运行时配置Spring应用程序的方式。 您可以详细了解here和here。
mvnw -P dev
-它告诉Maven使用构建Maven配置文件
Maven配置文件-是如何编译/构建/打包Java应用程序。它与Spring应用程序的编译/打包有关,而不与运行时执行有关,并且与Spring完全无关。 您可以详细了解here和here。
这是您第一个问题的答案。
关于第二个问题,
当您需要根据配置文件设置以其他方式构建应用程序时,可以使用Maven配置文件。例如,在执行mvn -P fat-jar
时,将带有所有依赖项的“胖子”打包。
当您要配置Spring应用程序使其在运行时以不同方式工作时,例如-使用development
和production
数据库等时,将使用Spring配置文件。