JavaWeb-Maven Profile切换数据库连接配置

来源:互联网 发布:淘宝网李宁专卖店 编辑:程序博客网 时间:2024/05/19 19:41

切换数据库连接配置

编写不同环境的配置文件
1.在pinyougou-dao工程中src/main/resources下创建filter文件夹

2.在filter文件夹下创建db_dev.properties ,用于配置开发环境用到的数据库

envir.jdbc.driver=com.mysql.jdbc.Driver

envir.jdbc.url=jdbc:mysql://localhost:3306/pinyougoudb?characterEncoding=utf-8

envir.jdbc.username=root

envir.jdbc.password=root


3.在filter文件夹下创建db_pro.properties,用于配置生产环境用到的数据库

envir.jdbc.driver=com.mysql.jdbc.Driver

envir.jdbc.url=jdbc:mysql://localhost:3306/pinyougoudb_pro?characterEncoding=utf-8

envir.jdbc.username=root

envir.jdbc.password=root


4.修改properties文件夹下的db.properties文件

jdbc.driver=${envir.jdbc.driver}

jdbc.url=${envir.jdbc.url}

jdbc.username=${envir.jdbc.username}

jdbc.password=${envir.jdbc.password}

定义Profile

修改pom.xml文件

<!-- install -P pro/dev 安装  pro环境/dev环境的 properties配置文件  package -P pro/dev 打包 pro/dev 环境的 properties -->
  
  <!--

    配置默认install/package使用的properties文件,如运行package (-P pro)命令时,不指定-P pro时默认使用这个配置,
  该默认的配置必须配置上,不可以省略,且"<env>"必须与下面fileter过滤器中的${env}内的名称相同,否则报错

--> 

  <properties><!--默认使用的properties文件配置-->

        <env>dev</env>

  </properties>


  <profiles>

    <profile>

        <id>dev</id>

        <properties>

            <env>dev</env>

        </properties>

    </profile>   

    <profile>

        <id>pro</id>

        <properties>

            <env>pro</env>

<!-- 可以使用<en>pro</en>标签,但是需要在下面的filter路径中改为${en},否则找不到 -->

        </properties>

    </profile>

  </profiles>


资源过滤与变量替换

修改pom.xml ,在build节点中添加如下配置

<build>

   <!-- 定义过滤器 ,指定过滤资源的地址-->

    <filters>

        <filter>src/main/resources/filters/db_${env}.properties</filter>

 <!-- 

这里的${env}中的名称env必须与上面配置的默认的properties中的标签名env相同,否则报错,可以与上面的默认properties配置下面各个环境下的 <env>标签不同名,不同名时(即不是env时)即使通过package -P pro指定环境也会使用默认的properties配置,因为在默认propeties配置的下面的profiles中均为<env>标签的配置,找不到同名的

-->

     </filters>

    <resources>

        <resource>

<!-- 资源目录,下面的意思是在下面的资源目录下启用过滤 -->

            <directory>src/main/resources</directory>

            <filtering>true</filtering>

        </resource>        

    </resources>
</build>  


这里我们利用filter实现对资源文件(resouces)过滤 
maven filter
可利用指定的xxx.properties中对应的key=value对资源文件中的${key}进行替换,最终把你的资源文件中的username=${key}替换成username=value

打包

pinyougou-dao工程执行命令:package -P pro , 解压生成的jar包,观察db.properties配置文件内容,已经替换为生产环境的值。



阅读全文
0 0
原创粉丝点击