XML で実装する方法は、web.xml
とを変更することservlet-context.xml
です。
解決:
に新しいfor をweb.xml
追加します。これは、プロファイル セレクタとして使用されます。context-param
spring.profiles.active
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/spring/root-context.xml
</param-value>
</context-param>
<context-param>
<param-name>spring.profiles.active</param-name>
<param-value>DEV-PROFILE</param-value><!-- profile name goes here -->
</context-param>
ではservlet-context.xml
、Bean をプロファイルでラップします。ここでは、データベース接続ごとに開発とテストのプロファイルを提供しています。
<beans:beans profile="DEV-PROFILE">
<beans:bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<beans:property name="driverClassName" value="${jdbc.sqlserver.driver}" />
<beans:property name="url" value="${jdbc.dev.url}" />
<beans:property name="username" value="${jdbc.dev.user}" />
<beans:property name="password" value="${jdbc.dev.pw}" />
</beans:bean>
</beans:beans>
<beans:beans profile="TEST-PROFILE">
<beans:bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<beans:property name="driverClassName" value="${jdbc.sqlserver.driver}" />
<beans:property name="url" value="${jdbc.test.url}" />
<beans:property name="username" value="${jdbc.test.user}" />
<beans:property name="password" value="${jdbc.test.pw}" />
</beans:bean>
</beans:beans>
この時点で、プロファイル Bean の後に定義された Bean がエラーを引き起こしました。したがって、Java Bean を新しいファイルに移動し、プロファイル定義の前にインポートする必要がありました。
<beans:import resource="servlet-beans.xml"/>