弹簧:根据配置文件注入不同的属性文件
2022-09-04 03:24:54
首先,一些上下文:
我目前正在做一个项目,在这个项目中,我使用谷歌AppEngine(GAE)上的Spring框架从谷歌的一个服务中获取一些数据。为此,我利用了谷歌的OAuth设施。为此,我需要使用特定于我的应用程序的 和。由于这些是静态配置值,因此我使用Spring的(链接到文档)功能将这些值插入到适当的类中。clientSecret
clientId
<util:properties>
XML 配置:
<util:properties id="googleProperties" location="WEB-INF/google.properties" />
类用法:
@Value("#{googleProperties['google.data.api.client.id']}")
private String clientId;
我的问题:
事实证明,生产(在 App Engine 上部署时)和开发(在我的本地计算机上)的值和需要有所不同。为了解决这个问题,而又不需要在部署时经常更改属性文件中的值,我一直在研究Spring的配置,该配置将允许我为生产和开发指定不同的属性文件。虽然我对Spring配置文件的工作原理有一个想法,但我完全不确定在这种特殊情况下合适的解决方案是什么。clientId
clientSecret
profiles
换句话说,如何根据我的应用程序是在本地部署还是在 GAE 上部署来注入不同的属性文件?