如何在 Spring 项目中为多个环境动态配置数据源



我正在使用Hibernate在春季项目中工作,并且在本地环境中一切正常,但是现在我想将我的应用程序部署到测试环境并使我的应用程序连接到新数据库(新URL,新用户名,新密码( 这是我的数据源的配置

<bean name="myDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/hibernate_db" />
<property name="username" value="my_local_username" />
<property name="password" value="my_local_password" />
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<property name="dataSource" ref="myDataSource" />
<property name="packagesToScan" value="com.fr.business.entites" />
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>

我的问题是:如何根据我将部署应用程序的环境动态获取属性(URL、用户名和密码(的值。

问候!

您可以创建多个配置文件,例如(dev,test,ist等(,并将它们与基于Spring的应用程序一起使用。这是开发、测试和部署应用程序的理想方式,因为所有配置都通过属性文件进行控制.xml而无需在代码/应用程序中进行任何硬编码。

关于如何做到这一点的好文章可以在这里找到

最新更新