有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案

  1. # 1 楼答案

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

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