0

在我的本地机器上,我正在使用某个数据库(sql server)进行开发,但是,当我部署到开发环境时,我们正在运行 mysql。因此,每次部署之前,我都必须更改配置文件中的某些属性。与数据源相关的属性:

<bean id="dataSource" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    <property name="url" value="jdbc:mysql://127.0.0.1:3306/mydb" />
    <property name="username" value="myuname" />
    <property name="password" value="mypwd"/>   
</bean>

spring mvc 中有没有办法为不同的环境提供不同的配置文件?如果是这样,我将如何为正确的环境触发正确的 xml。

4

2 回答 2

1
spring mvc to have different config files for different environments?

我们将数据库连接设置存储在 tomcat 的属性文件中,然后每个 tomcat 安装都有自己特定的数据库连接。例如,本地开发盒连接到本地数据库服务器,UAT 服务器连接到 UAT ... 等等。

然后在应用程序上下文中我们有:

<context:property-placeholder location="file:${catalina.home}/conf/database_UAT.properties"
                                  ignore-unresolvable="true"/>

因此,应用程序的部署位置决定了它的数据库连接。

于 2012-10-18T15:40:46.930 回答
0

我认为仅针对此要求使用不同的配置文件并不是一个好主意。您应该使用两个不同的集合在属性文件中外部化数据库配置,一个用于开发,第二个用于生产。然后在配置文件中使用spring EL来决定使用哪一个。

有关详细信息,请参阅 spring EL文档

于 2012-10-18T15:37:28.340 回答