${port}
运行tomcat7:run ,发现运行结果是一样的,因为port是变量,而变量值是定义为9105。这其实就是我们之前学习的maven的变量。
那我们现在思考一下,如果这个端口在开发时使用9105,如果在生产环境(或其他环境)为9205呢?如何解决值的动态切换呢?
这时我们修改pom.xml,增加profile定义
dev
9105
pro
9205
执行命令 tomcat7:run -P pro 发现以9205端口启动
执行命令 tomcat7:run -P dev 发现以9105端口启动
-P 后边跟的是profile的id
如果我们只执行命令tomcat7:run ,也是以9105启动,因为我们一开始定义的变量值就是9105,就是在不指定profileID时的默认值.
切换数据库连接配置
编写不同环境的配置文件
(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
dev
dev
dev
pro
pro
这里我们定义了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对资源文件中的 k e y 进行替换,最终把你的资源文件中的 u s e r n a m e = {key}进行替换,最终把你的资源文件中的username= 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
切换注册中心连接配置
集中配置注册中心地址
在pinyougou-common工程中properties下创建dubbox.properties
address=192.168.0.135:2181 |
Spring目录下创建spring配置文件 applicationContext-dubbox.xml 配置如下:
<dubbo:registry protocol="zookeeper" address="${address}"/> |
所有的服务工程与web工程都要依赖pinyougou-common . 并删除每个工程中关于注册中心地址的配置
安装pinyougou-common到本地仓库,然后测试运行。
MavenProfile配置
在pinyougou-common工程中创建filters目录 ,目录下建立dubbox_dev.properties
env.address=192.168.25.135:2181 |
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
最后
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
303032d36.jpg" alt=“img” style=“zoom: 33%;” />
最后
[外链图片转存中…(img-CCrgPKQB-1713696927154)]
[外链图片转存中…(img-I15KjwoG-1713696927155)]
[外链图片转存中…(img-Vn52ybii-1713696927155)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!