• Maven+Spring Profile实现生产环境和开发环境的切换


    第一步 Maven Profile配置

    <profiles>
        <profile>
            <id>postgres</id>
            <activation>
                <activeByDefault>true</activeByDefault>
                <property>
                    <name>spring.profiles.active</name>
                    <value>postgres</value>
                </property>
            </activation>
            <dependencies>
                <dependency>
                    <groupId>postgresql</groupId>
                    <artifactId>postgresql</artifactId>
                    <version>9.1-901.jdbc4</version>
                </dependency>
            </dependencies>
        </profile>
        <profile>
            <id>h2</id>
            <activation>
                <property>
                    <name>spring.profiles.active</name>
                    <value>h2</value>
                </property>
            </activation>           
            <dependencies>
                <dependency>
                    <groupId>com.h2database</groupId>
                    <artifactId>h2</artifactId>
                    <version>1.4.191</version>
                </dependency>
            </dependencies>
        </profile>
    </profiles>
    

    第二步 web.xml配置  

    <context-param>
       <param-name>spring.profiles.default</param-name>
       <param-value>postgres</param-value>
    </context-param>
    

    第三步 Spring配置

    <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
        <property name="dataSource" ref="mainDataSource" />
        <property name="jpaVendorAdapter">
            <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" />
        </property>
        <property name="jpaProperties" ref="hibProps"/>
        <property name="packagesToScan">
            <list>
                <value>my.test.model</value>
            </list>
        </property>
    </bean>
    ...
    <beans profile="postgres">
        <bean name="mainDataSource"
            class="org.springframework.jdbc.datasource.DriverManagerDataSource">
            <property name="driverClassName" value="org.postgresql.Driver" />
            <property name="url" value="jdbc:postgresql://127.0.0.1:5432/webchat" />
            <property name="username" value="postgres" />
            <property name="password" value="postgres" />
        </bean>
    </beans>
    
    <beans profile="h2">
        <bean name="mainDataSource"
            class="org.springframework.jdbc.datasource.DriverManagerDataSource">
            <property name="driverClassName" value="org.h2.Driver" />
            <property name="url" value="jdbc:h2:file:./newsdb;INIT=RUNSCRIPT FROM 'classpath:init.sql';TRACE_LEVEL_FILE=0" />
            <property name="username" value="sa" />
            <property name="password" value="" />
        </bean>
    </beans>
    

    如何运行

    运行Postgres数据库,命令

    #运行默认配置
    mvn jetty:run #或者
    mvn jetty:run -Dspring.profiles.active=postgres commands

    运行H2数据库,命令  

    jetty:run -Dspring.profiles.active=h2
    
  • 相关阅读:
    ubuntu16.04编译安装PHP7.0.9,Nginx1.10,Phalcon3.1扩展
    阿里云云大使推广产品集合
    mysql性能优化-慢查询分析、优化索引和配置
    Js学习笔记(二)
    Javascript学习笔记(一)
    HashMap
    JDK 1.8 新特性
    Java转型
    Java IO
    Java正则表达式
  • 原文地址:https://www.cnblogs.com/schbook/p/6149998.html
Copyright © 2020-2023  润新知