Spring环境概要文件和服务器属性

Spring环境概要文件和服务器属性,spring,spring-profiles,Spring,Spring Profiles,我需要为不同的环境(如DEV、QA)加载属性,并且每个环境都有不同的属性文件。所以我通过在服务器中设置environment属性并访问该值来加载相应的属性文件来解决这个问题。谷歌搜索时,我发现Spring环境概要文件为类似场景提供了解决方案。然而,即使在这里,我也必须将服务器中的活动概要文件变量设置为环境变量 与我的原生方法相比,使用Spring环境概要文件有什么好处?概要文件允许您覆盖Spring上下文、属性、bean等中的任何内容,从环境到环境,从客户到客户。在任何级别的bean中都可以使用

我需要为不同的环境(如DEV、QA)加载属性,并且每个环境都有不同的属性文件。所以我通过在服务器中设置environment属性并访问该值来加载相应的属性文件来解决这个问题。谷歌搜索时,我发现Spring环境概要文件为类似场景提供了解决方案。然而,即使在这里,我也必须将服务器中的活动概要文件变量设置为环境变量


与我的原生方法相比,使用Spring环境概要文件有什么好处?

概要文件允许您覆盖Spring上下文、属性、bean等中的任何内容,从环境到环境,从客户到客户。在任何级别的bean中都可以使用自定义实现,这是一种简单而干净的方法

例如,假设您正在构建一个从关系数据库读取数据的产品,您可以使用profile=“default”开发DAO层。然后,如果您或您自己的另一位客户希望提供NoSQL支持,您可以使用profile=“NoSQL”开发另一个DAO层。这将确保您可以基于配置文件在两种支持上使用相同的产品。简单干净


我正在做一个profile=“local”的项目,它将帮助您将应用程序带到本地,而不需要任何数据库依赖项(类似于模拟模式)。您可以想到数百万其他应用程序喜欢使用配置文件概念

你不必用你自己的方法。保存代码,最好的可维护代码是未编写的代码。除此之外,Springs环境抽象功能更强大,因为它可以做比属性文件多得多的事情,它还可以查阅系统属性、环境属性、jodi、servlet上下文或您能想到的任何其他
PropertySource