java如何在spring项目中为多个环境动态配置数据源
我和hibernate在一个spring项目中工作。。所有这些在我的本地环境中都可以正常工作,但现在我想将我的应用部署到测试环境,并使我的应用连接到一个新数据库(新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、用户名和密码)
问候
# 1 楼答案
您可以创建多个概要文件,如(dev、test、ist等),并将它们用于基于Spring的应用程序。这是开发、测试和部署应用程序的理想方式,因为所有配置都是通过属性文件控制的,无需在代码/应用程序中进行任何硬编码。xml本身
一篇关于如何做到这一点的好文章可以在here