首页 > 解决方案 > 通过 Spring 或通过 Maven/Gradle 等构建工具的配置文件有什么区别

问题描述

我们目前正在开发一个基于 Spring Boot 的应用程序,并且我们有一个 QA 和一个 Prod 环境要部署。我建议为不同的环境使用不同的应用程序属性文件,然后在 Docker 组合文件中使用 -Dspring.profiles.active 将是一个很好的分析解决方案。

但是,我的同事说,拥有基于构建工具的分析会是一个更好的主意。像这样的东西 - https://mkyong.com/maven/maven-profiles-example/

请帮助我了解这两种方式之间的优缺点,因为我在网上找不到足够的阅读材料。

标签: javaspring-bootmavengradle

解决方案


比较 Spring 和 Mvn/Gradle 就是比较为不同事物设计的 2 个工具。

但是,两者都允许您通过不同的机制提供配置。Spring配置文件旨在用于在不同环境中部署应用程序,因此就用例和预期用途而言,您所描述的内容适合这一点。(参考:https ://docs.spring.io/spring-boot/docs/1.2.0.M1/reference/html/boot-features-profiles.html )

这是使用 Spring 配置文件而不是我想到的构建工具配置的几个优点:

  • 可以在不重建应用程序的情况下切换配置文件
  • 可以调试应用程序本身而不是查看构建配置,这应该更容易

推荐阅读