第一步 Maven Profile配置

  1. <profiles>
  2. <profile>
  3. <id>postgres</id>
  4. <activation>
  5. <activeByDefault>true</activeByDefault>
  6. <property>
  7. <name>spring.profiles.active</name>
  8. <value>postgres</value>
  9. </property>
  10. </activation>
  11. <dependencies>
  12. <dependency>
  13. <groupId>postgresql</groupId>
  14. <artifactId>postgresql</artifactId>
  15. <version>9.1-901.jdbc4</version>
  16. </dependency>
  17. </dependencies>
  18. </profile>
  19. <profile>
  20. <id>h2</id>
  21. <activation>
  22. <property>
  23. <name>spring.profiles.active</name>
  24. <value>h2</value>
  25. </property>
  26. </activation>
  27. <dependencies>
  28. <dependency>
  29. <groupId>com.h2database</groupId>
  30. <artifactId>h2</artifactId>
  31. <version>1.4.191</version>
  32. </dependency>
  33. </dependencies>
  34. </profile>
  35. </profiles>

第二步 web.xml配置  

  1. <context-param>
  2. <param-name>spring.profiles.default</param-name>
  3. <param-value>postgres</param-value>
  4. </context-param>

第三步 Spring配置

  1. <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
  2. <property name="dataSource" ref="mainDataSource" />
  3. <property name="jpaVendorAdapter">
  4. <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" />
  5. </property>
  6. <property name="jpaProperties" ref="hibProps"/>
  7. <property name="packagesToScan">
  8. <list>
  9. <value>my.test.model</value>
  10. </list>
  11. </property>
  12. </bean>
  13. ...
  14. <beans profile="postgres">
  15. <bean name="mainDataSource"
  16. class="org.springframework.jdbc.datasource.DriverManagerDataSource">
  17. <property name="driverClassName" value="org.postgresql.Driver" />
  18. <property name="url" value="jdbc:postgresql://127.0.0.1:5432/webchat" />
  19. <property name="username" value="postgres" />
  20. <property name="password" value="postgres" />
  21. </bean>
  22. </beans>
  23.  
  24. <beans profile="h2">
  25. <bean name="mainDataSource"
  26. class="org.springframework.jdbc.datasource.DriverManagerDataSource">
  27. <property name="driverClassName" value="org.h2.Driver" />
  28. <property name="url" value="jdbc:h2:file:./newsdb;INIT=RUNSCRIPT FROM 'classpath:init.sql';TRACE_LEVEL_FILE=0" />
  29. <property name="username" value="sa" />
  30. <property name="password" value="" />
  31. </bean>
  32. </beans>

如何运行

运行Postgres数据库,命令

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

运行H2数据库,命令  

  1. jetty:run -Dspring.profiles.active=h2

Maven+Spring Profile实现生产环境和开发环境的切换的更多相关文章

  1. Maven Filter与Profile隔离生产环境与开发环境

    Maven Filter与Profile隔离生产环境与开发环境 在不同的开发阶段,我们一般用到不同的环境,开发阶段使用开发环境的一套东西,测试环境使用测试环境的东西,可能有多个测试环境,生产环境使用的 ...

  2. spring boot区分生产环境和开发环境

    回顾一下spring boot使用基础,做个笔记. 通过配置文件,设置项目的开发环境和生成环境. 项目目录结构: application-dev.yml是开发环境配置文件,application-pr ...

  3. 使用Maven搭建Struts2+Spring3+Hibernate4的整合开发环境

    做了三年多的JavaEE开发了,在平时的JavaEE开发中,为了能够用最快的速度开发项目,一般都会选择使用Struts2,SpringMVC,Spring,Hibernate,MyBatis这些开源框 ...

  4. 通过Maven配置测试环境和开发环境连接不同的数据库

    通过Maven配置测试环境和开发环境连接不同的数据库   作者及来源: 通灵宝玉 - 博客园    收藏到→_→: 此文来自: 马开东博客 网址:http://www.makaidong.com   ...

  5. 搭建基于SSI(struts2,spring,ibatis)的javaEE开发环境

    搭建基于SSI(struts2,spring,ibatis)的javaEE开发环境 最近有很多人不知道如何搭建基于SSI(struts2,spring,ibatis)的J2EE开发环境,这里给大家一个 ...

  6. (17/24) webpack实战技巧:生产环境和开发环境并行设置,实现来回切换

    1. 概述 生产环境和开发环境所需依赖是不同: --开发依赖:就是开发中用到而发布时用不到的.在package.json里面对应的就是devDependencies下面相关配置. --生产依赖: 就是 ...

  7. 【webpack学习笔记】a06-生产环境和开发环境配置

    生产环境和开发环境的配置目标不一样,生产环境主要是让文件压缩得更小,更优化资源,改善加载时间. 而开发环境,主要是要开发更方便,更节省时间,比如调试比如自动刷新. 所以可以分开配置不同的开发环境,然后 ...

  8. Android 程序分析环境搭建-开发环境搭建

    1.1  JDK 安装 JDK 的配置,初学java 开发,那是必须会的. 下载,遇到的问题就是要注册oracle 的账号,还有你要下载特定版本,比如jdk 1.7,jdk 1.6,很难找到在哪里.解 ...

  9. Eclipse Maven profiles 多环境配置,测试环境与开发环境分开打包

    1.将开发环境.测试环境.生产环境的配置文件分开存放,如下图: 2.在Maven中配置不同的环境打包配置文件的路径,配置如下: <profiles> <profile> < ...

随机推荐

  1. CPUID指令简单调用

    关于CPUID指令,可以看维基百科的相关介绍 https://en.wikipedia.org/wiki/CPUID 在windows下可以调用__cpuid和__cpuidex这两个函数,__cpu ...

  2. AliSQL的编译使用

    1.下载源码 git clone https://github.com/alibaba/AliSQL.git Linux下编译 2.编译 编译前需要安装好gcc cmake bison等.(如果缺少其 ...

  3. python之路十五

    CSS position 属性 定义和用法position 属性规定元素的定位类型.说明这个属性定义建立元素布局所用的定位机制.任何元素都可以定位,不过绝对或固定元素会生成一个块级框,而不论该元素本身 ...

  4. websocket业务代码

    需求 用户登陆后,服务器实时推送用户的订单提醒,用websocket处理. 方案 两个js,notify-socket.js处理socket的连接,和socket的处理. nofify.js,做右下角 ...

  5. 【翻译】首个基于NHibernate的应用程序

    首个基于NHibernate的应用程序  Your first NHibernate based application 英文原文地址:http://www.nhforge.org/wikis/how ...

  6. js:使用js过程中遇到的一个小问题

    在一个作业中使用了js,函数A调用函数B.当A和B中均含有变量i的时候,相关操作结果可能会出错. 将B中的i替换为j(j不存在于A中)后,结果正确. 目前考虑原因是两个变量i有相关性(或者说实际上就是 ...

  7. Ionic 常用插件

    ionic扩展插件 1.ionic-timepicker 时间选择 https://github.com/rajeshwarpatlolla/ionic-timepicker   2.ionic-da ...

  8. 如何在一台服务器上安装两个mysql或者更多

    如何在一台服务器上安装两个mysql 1       前言 上篇写了在一台机器上源码编译安装一个mysql,那么如何在一台机器上源码编译安装两个mysql或者更多呢? 2       环境 mysql ...

  9. js厘米与英寸尺码转换

    <style type="text/css"> #txt_cm1, #txt_inch1, #txt_inch2, #txt_cm2 { width: 63px; he ...

  10. Oracle入门基础

    使用SQLplus工具登录连接 开始->运行CMD-> C:\Users\Admininstrator> sqlplus 请输入用户名:sys@orcl as sysdba 输入口令 ...