Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring mvc 如何在SpringMVC中为不同的环境提供不同的上下文配置文件_Spring Mvc_Jdbctemplate_Applicationcontext - Fatal编程技术网

Spring mvc 如何在SpringMVC中为不同的环境提供不同的上下文配置文件

Spring mvc 如何在SpringMVC中为不同的环境提供不同的上下文配置文件,spring-mvc,jdbctemplate,applicationcontext,Spring Mvc,Jdbctemplate,Applicationcontext,在我的本地机器上,我使用特定的db(sql server)进行开发,但是,当我部署到运行mysql的开发环境中时。因此,每次部署之前,我都必须更改配置文件中的某些属性。与数据源相关的属性: <bean id="dataSource" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="com.mysq

在我的本地机器上,我使用特定的db(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>


在SpringMVC中有没有一种方法可以为不同的环境提供不同的配置文件?如果是这样,我将如何为正确的环境触发正确的xml

我认为仅针对这一需求使用不同的配置文件不是一个好主意。 您应该使用两个不同的集合在属性文件中外部化db配置,一个用于开发,另一个用于生产。然后在配置文件中使用SpringEL来决定使用哪一个

有关更多详细信息,请参阅弹簧EL

spring mvc to have different config files for different environments?
我们将数据库连接设置存储在tomcat的一个属性文件中,每个tomcat installaltion都有自己特定的db连接。例如,一个本地开发盒连接到本地DB服务器,UAT服务器连接到UAT。。。等等

那么在应用程序上下文中,我们有:

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

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