我正在尝试将我的数据库连接配置为在多个环境中运行。重要的是要注意我对Spring缺乏实践经验。
假设我的xml中有一个bean,如下所示:
roleUserID
适当的占位符:
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>>
但是,我想拥有多个属性文件(db2.properties,db3.properties等),每个环境文件一个,每个文件将包含完全相同的字段(用户名,密码等)。 ),但具有不同的值(请考虑这些文件针对特定环境的数据库连接的不可变表示形式。
我想要一个“主”属性文件,该文件将指向在当前环境中使用的正确文件。它可能看起来像这样:
<context:property-placeholder location="classpath:db1.properties"/>
因此,为了在环境中使用正确的连接,我只需要手动/使用外部程序/服务器来编辑env.DBConnection字段。
如何从此主文件中将要使用的正确属性文件注入到上下文xml中?
在搜索中,我看到了类似的内容:
env.DBConnection=db1.properties
但是我知道这只能与系统变量一起使用。进一步查看从属性文件中定义系统变量使我意识到,对于一个合理的解决方案来说,它太麻烦了……
是否有实现此目标的明智方法?也许我缺少一种完全不同的方法?