我们在开发的时候,经常会需要多种环境,比如开发环境,测试环境,生产环境的数据库地址是不一样的。sPRing mvc环境下如何配置呢?
在web.xml里面有个属性,可以配置。
比如我们配置测试环境。
<context-param> <param-name>spring.profiles.active</param-name> <param-value>test</param-value> </context-param> 在spring xml配置文件这么配置<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:jee="http://www.springframework.org/schema/jee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jpa="http://www.springframework.org/schema/data/jpa" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa-1.1.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.1.xsd"> <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="location" value="classpath:database.properties" /> </bean> <beans profile="prod"> <jee:jndi-lookup id="dataSource" jndi-name="${jpreTest.datasource}" resource-ref="true" /> <jee:jndi-lookup id="dataSource2" jndi-name="${jpreTest.datasource2}" resource-ref="true" /> </beans> <beans profile="test"> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="driverClass" value="${jpreTest.connection.driver_class}" /> <property name="jdbcUrl" value="${jpreTest.connection.url}" /> <property name="user" value="${jpreTest.connection.username}" /> <property name="passWord" value="${jpreTest.connection.password}" /> <!-- 初始线程数 --> <property name="initialPoolSize" value="5" /> <!-- 最小线程数 --> <property name="minPoolSize" value="${jpreTest.minPoolSize}" /> <!-- 最大线程数 --> <property name="maxPoolSize" value="${jpreTest.maxPoolSize}" /> <!-- 空闲时间,单位秒 --> <property name="maxIdleTime" value="1200" /> <!-- 获取连接失败后该数据源将申明已断开并永久关闭 --> <property name="breakAfterAcquireFailure" value="true" /> <!--每60秒检查所有连接池中的空闲连接。Default: 0 --> <property name="idleConnectionTestPeriod" value="60"/> <!--如果设为true那么在取得连接的同时将校验连接的有效性。Default: false --> <property name="testConnectionOnCheckin" value="true" /> <!-- 链接池耗尽时一次获取的连接数 --> <property name="acquireIncrement" value="5" /> </bean> <bean id="dataSource2" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="driverClass" value="${jpreTest.connection.driver_class}" /> <property name="jdbcUrl" value="${jpreTest.connection.url2}" /> <property name="user" value="${jpreTest.connection.username2}" /> <property name="password" value="${jpreTest.connection.password2}" /> <!-- 初始线程数 --> <property name="initialPoolSize" value="5" /> <!-- 最小线程数 --> <property name="minPoolSize" value="${jpreTest.minPoolSize}" /> <!-- 最大线程数 --> <property name="maxPoolSize" value="${jpreTest.maxPoolSize}" /> <!-- 空闲时间,单位秒 --> <property name="maxIdleTime" value="1200" /> <!-- 获取连接失败后该数据源将申明已断开并永久关闭 --> <property name="breakAfterAcquireFailure" value="true" /> <!--每60秒检查所有连接池中的空闲连接。Default: 0 --> <property name="idleConnectionTestPeriod" value="60"/> <!--如果设为true那么在取得连接的同时将校验连接的有效性。Default: false --> <property name="testConnectionOnCheckin" value="true" /> <!-- 链接池耗尽时一次获取的连接数 --> <property name="acquireIncrement" value="5" /> </bean> </beans></beans>
新闻热点
疑难解答