zoukankan      html  css  js  c++  java
  • 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
    
  • 相关阅读:
    org.dom4j.DocumentException: Error on line 1 of document: 前言中不允许有内容
    学习过程中的随手笔记
    IT技术团队行而有效的管理之道
    九宫格抽奖HTML+JS版
    Nginx负载均衡深入浅出
    PHP 二维数组根据某个字段排序
    MYSQL INSERT INTO SELECT 不插入重复数据
    小米2成功使用google组件的办法(为了coc游戏能登录google账户)
    PHP 数组排序方法总结
    普通标和转让标的回款和还款日期的算法。
  • 原文地址:https://www.cnblogs.com/schbook/p/6149998.html
Copyright © 2011-2022 走看看