93分布式电商项目 - Maven Profile切换数据库连接配置

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 93分布式电商项目 - Maven Profile切换数据库连接配置

如果在现在的项目中,需要切换数据库连接配置,使用Maven Profile来配置,可以按如下步骤来进行修改。

(1)在 pinyougou-dao 工程中 src/main/resources 下创建 filter 文件夹

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

env.jdbc.driver=com.mysql.jdbc.Driver
env.jdbc.url=jdbc:mysql://localhost:3306/pinyougoudb?characterEncoding=utf-8
env.jdbc.username=root
env.jdbc.password=123456

(3)filter 文件夹下创建 db_pro.properties

env.jdbc.driver=com.mysql.jdbc.Driver
env.jdbc.url=jdbc:mysql://localhost:3306/pinyougoudb_pro?characterEncoding=utf-8
env.jdbc.username=root
env.jdbc.password=123456

(4)修改 properties 下的 db.properties

jdbc.driver=${env.jdbc.driver}
jdbc.url=${env.jdbc.url}
jdbc.username=${env.jdbc.username}
jdbc.password=${env.jdbc.password}

接下来开始定义Profile,修改pom.xml文件

<properties>
   <env>dev</env>
</properties> 
<profiles> 
  <profile>
     <id>dev</id> 
     <properties>
        <env>dev</env>
     </properties>
  </profile> 
  <profile> 
    <id>pro</id>
    <properties>
       <env>pro</env>
     </properties>
   </profile>
 </profiles>

这里定义了 2 个 profile,分别是开发环境和生产环境

接着继续修改pom.xml,在build节点中添加如下配置:

<filters>   
  <filter>src/main/resources/filters/db_${env}.properties</filter>
</filters> 
<resources> 
  <resource> 
    <directory>src/main/resources</directory> 
    <filtering>true</filtering>
  </resource>
</resources>

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

打包

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

在 pinyougou-sellergoods-service 工程 执行命令 pageage ,解压生成的 war 包里的pinyougou-dao 的 jar 包,发现也是生成环境的值。

测试

【1】连接生产数据库

(1)在 pinyougou-dao 工程执行命令:install -P pro

(2)在 pinyougou-sellergoods-service:执行命令:tomcat7:run

(3)在 pinyougou-shop-web : 执行命令:tomcat7:run

【2】连接开发数据库

(1)在 pinyougou-dao 工程执行命令:install -P dev (或 install )

(2)在 pinyougou-sellergoods-service:执行命令:tomcat7:run

(3)在 pinyougou-shop-web : 执行命令:tomcat7:run

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
3月前
|
SQL 关系型数据库 MySQL
乐观锁在分布式数据库中如何与事务隔离级别结合使用
乐观锁在分布式数据库中如何与事务隔离级别结合使用
|
2天前
|
容灾 关系型数据库 分布式数据库
PolarDB分布式版:与云融合的分布式数据库发展新阶段
PolarDB分布式版标志着分布式数据库与云融合的新阶段。它经历了三个发展阶段:从简单的分布式中间件,到一体化分布式架构,再到云原生分布式数据库。PolarDB充分利用云资源的弹性、高性价比、高可用性和隔离能力,解决了大规模数据扩展性问题,并支持多租户场景和复杂事务处理。零售中台的建设背景包括国家数字化转型战略及解决信息孤岛问题,采用分布式数据库提升高可用性和性能,满足海量订单处理需求。展望未来,零售中台将重点提升容灾能力、优化资源利用并引入AI技术,以实现更智能的服务和更高的业务连续性。
|
25天前
|
存储 Java Linux
【Maven】——基础入门,插件安装、配置和简单使用,Maven如何设置国内源
Maven插件安装,Maven项目构建,依赖管理,Haven Help插件,Maven仓库,Maven如何设置国内源
|
2月前
|
XML Java 测试技术
从零开始学 Maven:简化 Java 项目的构建与管理
Maven 是一个由 Apache 软件基金会开发的项目管理和构建自动化工具。它主要用在 Java 项目中,但也可以用于其他类型的项目。
80 1
从零开始学 Maven:简化 Java 项目的构建与管理
|
1月前
|
Cloud Native 关系型数据库 分布式数据库
PolarDB 分布式版 V2.0,安全可靠的集中分布式一体化数据库管理软件
阿里云PolarDB数据库管理软件(分布式版)V2.0 ,安全可靠的集中分布式一体化数据库管理软件。
|
2月前
|
关系型数据库 分布式数据库 数据库
PostgreSQL+Citus分布式数据库
PostgreSQL+Citus分布式数据库
87 15
|
2月前
|
Java Maven
maven项目的pom.xml文件常用标签使用介绍
第四届人文,智慧教育与服务管理国际学术会议(HWESM 2025) 2025 4th International Conference on Humanities, Wisdom Education and Service Management
243 8
|
2月前
|
Java 应用服务中间件 Maven
Maven的三种项目打包方式——pom,jar,war的区别
Maven 提供了多种打包方式,分别适用于不同类型的项目。pom 用于父项目或聚合项目,便于项目的结构和依赖管理;jar 用于Java类库或可执行的Java应用程序;war 则专用于Java Web应用程序的部署。理解这些打包方式的用途和特点,可以帮助开发者更好地配置和管理Maven项目,确保构建和部署过程的顺利进行。无论是单模块项目还是多模块项目,选择合适的打包方式对于项目的成功至关重要。
274 3
|
3月前
|
Java 关系型数据库 MySQL
Maven——创建 Spring Boot项目
Maven 是一个项目管理工具,通过配置 `pom.xml` 文件自动获取所需的 jar 包,简化了项目的构建和管理过程。其核心功能包括项目构建和依赖管理,支持创建、编译、测试、打包和发布项目。Maven 仓库分为本地仓库和远程仓库,远程仓库包括中央仓库、私服和其他公共库。此外,文档还介绍了如何创建第一个 SpringBoot 项目并实现简单的 HTTP 请求响应。
277 1
Maven——创建 Spring Boot项目
|
3月前
|
Java Shell 应用服务中间件
Mac系统下配置环境变量:Javajdk、maven、tomcat 环境变量配置及对应配置文件
这篇文章介绍了如何在Mac系统下配置Java JDK、Maven和Tomcat的环境变量,包括配置文件的选择、解决环境变量在zsh shell中无效的问题、查看和设置系统环境变量的方法,以及JDK和Maven的下载、配置和测试步骤。
1732 1
Mac系统下配置环境变量:Javajdk、maven、tomcat 环境变量配置及对应配置文件

热门文章

最新文章