Sping Boot+Maven实现多环境切换

Sping Boot + freemarker框架项目中PageOffice的简单使用 因为公司项目需求要实现在线编辑word文件并根据书签进行套打,实现一个word模板生成多个文件,进过比较选择使用卓正的 PageOffice实现这一功能,下面实现项目简单的引用demo,套打以及生成pdf文件在下篇文章展示。 项目中使用的pageoffice的版本为4.5.0.6 1.将PageOffice的jar添加到Maven本地仓库; 2.拷贝pageoffice4.5.0.6.ja... 阅读详情

在实际开发中,由于dev、test以及prob三个版本的运行环境是不同的(比如数据库、redis、域名的配置等等),但是它们之间环境的切换又相对频繁。为了防止每次版本切换都手工去修改环境、测试环境,Spring Boot 和 Maven提供了profiles来方便我们切换环境。

  1. 首先我们在src/main/resources目录下创建4个properties文件,分别是application.properties、application-dev.properties、application-prod.properties、application-test.properties。其中application.properties存放3个环境中公共的部分,而其他3个文件则分别用来配置各自环境下对应的某些配置属性,比如redis服务器ip、数据库配置等等。还要在applicaiton.properties中添加下面代码:

    spring.profiles.active=@profiles.active@
  2. 然后我们在pom.xml中添加如下代码

    
    #将/src/main/resources下面的静态资源按照次序拷贝进来
    
    <resources>
        <resource>
            #首先将resources路径下所有的properties都exclude掉
            <directory>${basedir}/src/main/resources</directory>
            <filtering>false</filtering>
            <excludes>
                <exclude>**/*.properties</exclude>
            </excludes>
        </resource>
        <resource>
            <directory>${basedir}/src/main/resources</directory>
            <filtering>true</filtering>
            #然后将需要用的application.properties以及指定的application-${profiles.active}.propertiesinclude进来,并用filtering替换掉占位符(即@xxx@)
            <includes>
                <include>application.properties</include>
                <include>application-${profiles.active}.properties</include>
            </includes>
        </resource>
        <resource>
            <directory>${basedir}/src/main/resources</directory>
            <filtering>false</filtering>
            #最后将其他的静态资源include进来
            <includes>
                <include>**/*</include>
            </includes>
        </resource>
    </resources>
    
    
    #通过profiles来指定不同版本下使用的properties
    
    <profiles来指定不同版本下使用的properties>
        <profile>
            <id>dev</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <profiles.active>dev</profiles.active>
            </properties>
    
        </profile>
    
        <profile>
            <id>test</id>
            <properties>
                <profiles.active>test</profiles.active>
            </properties>
    
        </profile>
    
        <profile>
            <id>prod</id>
            <properties>
                <profiles.active>prod</profiles.active>
            </properties>
        </profile>
    </profiles>
  3. 然后使用maven clean compile -P{profile的id}来指定使用的环境

使用maven Profile实现多环境构建 使用maven Profile实现多环境构建,详细请参考 :http://blog.youkuaiyun.com/u011781521/article/details/77899467 立即下载

相关推荐

OBD诊断协议:OBDⅡ (SAE J1979) 和 OBDonUDS (SAE J1979-2) 和ZEV OBD技术架构的详细对比

摘要:文章对比了2025年最新OBD技术标准(SAEJ1979系列)的三大架构:传统OBD-II(已淘汰)、OBDonUDS(燃油/混动车)和ZEVOBD(新能源车)。核心发现:1)OBDonUDS与ZEVOBD共享UDS协议栈和DoIP通信标准,仅应用层数据(DID/DTC)不同;2)物理层统一为CAN+以太网,支持远程诊断和OTA;3)诊断工具需同时兼容J1979-2/3数据库。技术演进呈现"协议统一化、数据专用化"趋势,2027年后所有新车将强制采用新标准。

m0_56482679的博客 2395

Maven高级:多环境配置与应用

这一节中,我们会讲两个内容,分别是和maven提供配置多种环境的设定,帮助开发者在使用过程中快速切换环境。具体实现步骤: 步骤2:执行安装查看env_dep环境是否生效 查看到的结果为: 步骤4:执行安装并查看env_pro环境是否生效 查看到的结果为虽然已经能够实现不同环境的切换,但是每次切换都是需要手动修改,如何来实现在不改变代码的前提下完成环境的切换...

黑马程序员官方博客 1865

避坑指南:SpringBoot对接拉卡拉支付常见问题与解决方案(含SDK 1.0.6配置技巧)

本文是一份SpringBoot项目对接拉卡拉支付的实战避坑指南。针对SDK 1.0.6版本,详细剖析了从依赖管理、多环境配置、SDK初始化到支付请求构建、回调验签及生产监控的全流程常见问题,并提供了经过验证的解决方案与配置技巧,旨在帮助开发者高效、稳定地集成支付功能。

k5l6m的博客 330

Maven项目实现多环境配置文件

在Spring boot项目中,我们已经习惯了多环境配置文件的使用。那么,非Spring boot项目能实现多环境配置文件的配置和切换吗?其实,Maven早已提供了profile来实现多环境配置。

邢慧鹏的博客 4858

千兆网口电路设计中的EMC防护与TVS选型实战

本文深入探讨了千兆网口电路设计中面临的EMC挑战,并提供了TVS二极管选型的实战指南。文章分析了ESD、浪涌和EFT等主要威胁,重点阐述了如何根据工作电压、钳位电压和关键的低结电容等参数为PHY芯片选择匹配的TVS器件,以确保在严苛电磁环境下实现可靠的信号完整性与防护。

m3n5b7v8c9x的博客 531

淘晶驰串口屏自定义协议实战:5分钟搞定苹果时钟通信(附完整代码)

本文详细介绍了如何使用淘晶驰串口屏自定义通信协议快速实现苹果风格时钟的通信功能。通过精简的协议设计和完整的代码示例,开发者可以在5分钟内完成从硬件连接到软件实现的整个过程,适用于嵌入式开发中的高效通信需求。

weixin_29184371的博客 323

maven springboot 2.0 profile动态环境切换

一、通过profile包含不同的属性文件,获取不同的配置 1、工程文件截图   2、pom.xml 配置 配置一: &lt;profiles&gt; &lt;profile&gt; &lt;!-- 本地开发环境 --&gt; &lt;id&gt;dev&lt;/id&gt; &lt;properties&gt; &lt;!-- 这里的属性名是随便取的,可以在后续配...

在路上。。。 3221

Windows下用MSYS2一键搞定Verilator安装(附国内镜像加速)

本文详细介绍了在Windows系统下,如何利用MSYS2工具和国内镜像源,快速、高效地完成Verilator的安装与配置。通过替换清华镜像源加速下载,并配合Pacman包管理器,实现近乎一键式的安装流程,有效解决了传统方法步骤繁琐、网络依赖下载慢的问题,为数字电路仿真提供了便捷的Windows环境解决方案。

weixin_29208327的博客 596

springboot 配合 profile 多环境自动切换配置文件

PS:此方法只适用于application.properties文件,不适合自定义配置文件 1、新增几个配置文件。 配置文件的名称需要严格的按照标准来写。application-{profile}.properties 2、修改application.properties 此文件中只要写入通用的配置,即不会随便环境的切换而值发生变化的配置。 ##dev-本地环...

张斌的博客 6508

大模型推理常见采样策略:Top-k, Top-p, Temperature, Beam Search

大模型推理采样策略,举例通俗易懂汇总介绍

qq_43243579的博客 2万+

还原 Windows 环境变量的默认值

有时候,我们可能需要还原环境变量的默认值,以修复可能的配置问题或恢复系统的正常运行。如果您只想还原某个特定的环境变量,可以跳过删除其他变量的步骤,仅删除需要还原的变量即可。在“环境变量”对话框中,继续向下滚动到“系统变量”部分。请注意,在执行以下步骤之前,您应该备份当前的环境变量设置,以便在需要时可以还原。在删除所有需要还原的环境变量后,点击“确定”按钮关闭“环境变量”对话框。在“用户变量”部分,选择需要还原的变量,然后点击“删除”按钮。在“高级”选项卡下方的“环境变量”部分,点击“环境变量”按钮。

PvDeveloper的博客 6342

Spring boot项目maven的profile多环境配置不自动替换变量的问题解决

原文地址:http://www.07net01.com/2017/04/1842360.html 在网上找了好久,配置都很简单,可是我的程序就是不能自动替换变量,最终单独测试,发现原来是引用spring boot parent的问题 引用一位博主的话"spring-boot为了保护application.yml和application.properties,修改了默认的占位符${...

杨春建的博客 1万+

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

从零开始 Sping Boot 20:多环境部署

如果你一路从阅读到,那我相信你应当和我一样掌握了基础的Spring Boot开发技能。但是我们还需要补上最后一课——多环境部署。不同的环境需要使用不同的配置信息来运行,比如开发环境数据库一般使用本地数据库,即localhost,而测试环境和生产环境可能有独立部署的数据库服务器,即需要指定具体的ip。所以一般会有数份配置文件来保存不同环境的不同配置信息。下面用实例来说明如何对Spring Boot应用配置多环境。同之前一样,这里会基于一文中的最终示例代码,在这之上进行修改。......

梦幻天空 654

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

一分钟学会Spring Boot多环境配置切换

一. 问题由来 开发环境、测试环境、生产环境--------我们的软件在不同的环境中,系统参数和配置可能会不一样,比如数据源配置、日志文件配置、以及一些软件运行过程中的基本配置,那每次我们将软件部署到不同的环境时,都需要修改相应的配置文件?Maven提供了一种方便的解决这种问题的方案,就是profile功能。 二. Maven实现多环境配置切换的步骤 2.1 定义多环境配置文...

weixin_30511039的博客 140

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

IDEA Sping Boot 多配置文件application Maven动态切换

【代码】IDEA Sping Boot 多配置文件application Maven动态切换。

weixin_54586234的博客 820

springboot修改配置文件属性值_Sping Boot配置与简单Web搭建

搭建一个简单的 Spring Boot 应用采用 Spring Initializr 搭建安装并配置maven环境搭建Spring BootSping Boot 配置文件简介application.properties 配置文件Spirng Boot Java 配置Spring Boot xml 配置搭建一个简单的 Spring Boot 应用采用 Spring Initializr 搭...

weixin_39805906的博客 1184

【笔记】sping.profiles.active指定服务启动时读取的配置文件

spring.profiles.active指定服务启动时的配置文件

努力,学习! 2326

springboot2.X动态数据源切换

springboot2.X动态数据源切换springboot2.X动态数据源切换1、maven引用2、application.yml配置文件信息(多数据源)3、注解类com.demo.annotation.DS4、多数据源切换工具类5、数据源信息注入6、druid监控配置(可选) springboot2.X动态数据源切换 参考了网上多个版本的文章和代码,此demo作为记录 1、maven引用 sp...

shentan0000的博客 913

springboot maven打包的时候动态指定配置文件

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34146986的博客 4411

SpringBoot--创建SpringBoot项目

Spring Boot 是一个简化Spring应用开发的框架,提供起步依赖、自动配置、内嵌服务器等核心特性。创建项目时建议使用阿里云镜像,选择稳定版本(2.7.6)和必要依赖。项目结构包含主启动类,通过@SpringBootApplication注解(组合了配置、自动装配和组件扫描功能)启动内嵌Tomcat。常用注解包括@Configuration定义配置类、@Bean注册组件、@PropertySource加载配置文件、@Value注入属性、@ComponentScan包扫描等。

2301_77287584的博客 1083

Spring Boot知识整理(一)

一、启动方式与部署   Spring Boot启动按照容器来分的话大概分为两种:内置tomcat启动和外部tomcat启动。 (一)内部tomcat 直接在程序中run(右键启动) 在命令行中切换到工程目录,执行命令:mvn spring-boot:run 先mvn install编译打包工程,之后切换到target路径下,使用java -jar jar包名 例如:java -jar...

AaronSimon的博客 343

SpringBoot

狂神SpringBoot

weixin_53089304的博客 208

SpringBoot 框架

SpringBoot 的设计目的是用来简化 Spring 应用的初始搭建以及开发过程。以 SpringMVC 开发为例。需要在pom.xml中导入坐标。配置 web类。配置 SpringMVC配置类。编写Controller类。其中前三步都是在进行配置,SpringBoot 就是对这三步进行简化。SpringBoot 主要作用是简化 Spring 的搭建过程和开发过程。配置繁琐依赖设置繁琐SpringBoot 程序优点恰巧就是针对 Spring 的缺点自动配置。

保持热爱,持续学习 4089

SpringBoot3 集成 Shiro

是一个强大且易用的Java安全框架,提供了身份验证、授权、密码学和会话管理等功能。它被广泛用于保护各种类型的应用程序,包括Web应用、桌面应用、RESTful服务、移动应用和大型企业级应用。没有Spring Security 那么多晦涩的概念和术语,其原理非常清晰易懂,也非常容易集成到自己的项目中。SpringBoot 2.x 已于去年底End of life,升级到 SpringBoot 3 成了一件必须要做的事情,而SpringBoot 3 在集成 Shiro 时,有一些坑,也有一些与之前不同之处。

guoji7788的博客 350

SpringBoot 细节小记

spring: profiles: active:后缀

你看不惯我又干不掉我 371
上一篇: 配置Spring Boot通过@ConditionalOnProperty来控制Configuration是否生效
下一篇: Spring Boot多数据源配置
大浪中航行
博客等级 码龄12年 46粉丝 70原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值