千家信息网

spring通过profile实现开发和测试环境切换

发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,以开发测试为例,介绍tomcat部署应用和maven部署应用下利用profile实现测试环境和开发环境切换一、tomcat部署应用1、数据源配置dev.properties 路径:/src/main/
千家信息网最后更新 2025年01月18日spring通过profile实现开发和测试环境切换

以开发测试为例,介绍tomcat部署应用和maven部署应用下利用profile实现测试环境和开发环境切换

一、tomcat部署应用

1、数据源配置

dev.properties 路径:/src/main/resrouces

jdbc.database=MYSQLjdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://mysql:3306/develop?useUnicode=true&characterEncoding=utf-8jdbc.schema=developjdbc.username=rootjdbc.password=12qw4ds

test.properties 路径:/src/main/resrouces

jdbc.database=MYSQLjdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8jdbc.schema=testjdbc.username=rootjdbc.password=123456

applicationContext-detabase.xml 路径:src/main/resources/spring

                                                                      

2、springmvc.xml webapp/WEB-INF

可以通过定义 profile 来将开发和生产环境的数据源配置分开

              

2、web.xml中定义默认的profile:

默认 profile 是指在没有任何 profile 被激活的情况下,默认 profile 内定义的内容将被使用,通常可以在 web.xml 中定义全局 servlet 上下文参数 spring.profiles.default 实现

        spring.profiles.default      development  


4、激活profile

spring 为我们提供了大量的激活 profile 的方法,可以通过代码来激活,也可以通过系统环境变量、JVM参数、servlet上下文参数来定spring.profiles.active 参数激活 profile,这里我们通过定义 JVM 参数实现。以 tomcat 为例,我们在 tomcat 的启动脚本中加入以下 JVM 参数

JAVA_OPTS="-Dspring.profiles.active=development -server -XX:PermSize=256M -XX:MaxPermSize=512M -Xms1024M -Xmx1024M -Xss512k -XX:LargePageSizeInBytes=128m -XX:MaxTenuringThreshold=15 -XX:+AggressiveOpts -XX:+UseBiasedLocking -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$CATALINA_BASE/heap.dump.bin -Djava.awt.headless=true"

如果不定义,则会使用我们指定的默认 profile

二、maven部署应用

1、配置文件

dev.properties 路径为 /src/main/resources/filter

master.jdbc.driverClass = com.mysql.jdbc.Drivermaster.jdbc.url = jdbc:mysql://mysql-dev:3306/devmaster.jdbc.user = rootmaster.jdbc.password = Aa12345678

test.properties 路径为 /src/main/resources/filter

master.jdbc.driverClass = com.mysql.jdbc.Drivermaster.jdbc.url = jdbc:mysql://mysql-test:3306/testmaster.jdbc.user = rootmaster.jdbc.password = root

config.properties 路径:/src/main/resource/META-INF

master.jdbc.driverClass = ${master.jdbc.driverClass}master.jdbc.url = ${master.jdbc.url}master.jdbc.user = ${master.jdbc.user}master.jdbc.password = ${master.jdbc.password}

spring-datasource.xml 路径为:/src/main/resources/spring

                                                                                                                            

2、pom.xml

                                        dev                                                        true                                                                                /profile/dev.properties                                dev                                                                                test                                                        /profile/test.properties                                test                                                                                pro                                                        /profile/pro.properties                                pro                                                        .......                                  src/main/resources/filter/${env}.properties                                                src/main/resources                                                        template**/**                                                false                    

其中默认激活可以做如下配置

        true

filters:用于定义指定filter属性文件位置,例如filter元素赋值filters/filter1.properties,那么这个文件里面就可以定义name=value对,这个name=value对的值就可以在工程pom中通过${name}引用,默认的filter目录是${basedir}/src/main/filters/
resources描述工程中资源的位置

3、spring-bean.xml

                                                                        classpath:/META-INF/config.properties                                        

4、web.xml

                        contextConfigLocation                            classpath:spring/spring-bean.xml                

5、打包

maven clean install -Pdev

路径 参数 激活 环境 应用 配置 可以通过 文件 开发 测试 上下 上下文 位置 工程 数据 数据源 切换 代码 以开发 元素 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全宣传周株洲 服务器维护什么意思 kms激活指定服务器 服务器外置存储连结方式 软件开发西安 tv版游戏用什么软件开发 ps3登不了服务器 长春网络安全小课堂 长春青少年网络安全周怎么说 it网络安全技术支持工资 服务器随机数生成器 企业网站要啥配置的阿里云服务器 杭州工控软件开发费用是多少 移动网络技术工资多少 长城杯网络安全竞赛晋级名单 如何开发一个平台软件开发 网络安全在我身边视频 网络安全责任领导小组 在服务器上的图片怎么被访问 网络安全专家权小文 你的智商不再服务器内 软件开发原形化最有效的领域 创建数据库方法的优缺点 赣州玖吡软件开发有限公司 开源服务器集群管理 网络安全和防范案例分析 网络安全那一方面更加重要 网络安全产品碎片化坏处 简历软件开发项目描述怎么写 江西软件开发定制包括什么
0