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 立即下载

相关推荐

家用电器维修必备:手把手教你用双向可控硅改造单相电机调速(附电路图)

本文提供了一份详细的家用电器维修指南,手把手教你如何利用双向可控硅为核心元件,为单相交流电机(如风扇、排气扇)实现平滑的无级调速改造。内容涵盖核心原理、安全须知、元件选型(如BT136、DB3)、电路图解析、分步搭建教程以及常见故障排查方法,旨在帮助维修爱好者和DIY用户安全、成功地完成这一实用且富有成就感的项目。

read5的博客 838

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

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

黑马程序员官方博客 1865

ubuntu18.04安装R——无法连接上 dl.google.com:80 (6.6.6.6),连接超时&&E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

安装R的时候,sudo apt update 的时候出现错误: 查资料要修改/etc/apt/sources.list.d/google-chrome.list 文件 原来是: deb http://dl.google.com/linux/chrome/deb/ stable main 改为: deb [arch=amd64] http://dl.google.com/linux/chrom...

许希律的博客 4353

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

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

邢慧鹏的博客 4858

【博客汇总】UV打印机博客汇总

UV平板机博客汇总

Print World的专栏 1746

Kerberos基础及KDC服务(理论知识)

kerberos基础理论讲解+KDC服务

Siobhan_Mxin的博客 9715

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

【知识点总结】电机学——原理部分

大家好,由于院校地区存在疫情没法返校,再结合当下形式,去各地旅游放松可能不是一个好的决定,o(╥﹏╥)o,期待已久的旅行就先放一边吧,但也不能闲着,既然无事,那不如继续我的总结,本次总结的内容是电机学,自九推以后我越来越明白电机学的重要性……呜呜呜~~实在太重要了,几乎所有与专业复试有关的题目都会涉及电机学,而它又比较抽象,容易使人浅尝辄止,只能理解一些表面的东西。为此自九推之后,我深刻领悟自身不足,决定对电机学发起依次猛攻,势必要将其彻底拿下,这这只是我的粗略总结,若有空闲,我将不断完善它。

weixin_51130221的博客 1万+

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

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

张斌的博客 6508

【数字孪生与仿真技术】14:数据驱动+机理模型:工业级混合建模实战(附MATLAB完整代码+案例解析)

摘要 本文针对工业建模中机理模型精度不足和数据驱动模型缺乏物理约束的痛点,提出混合建模技术作为解决方案。文章系统阐述了混合建模的3种主流架构(参数校正型、残差补偿型、组件替换型),结合清华大学催化裂化装置的实际案例,分析混合建模的工业应用价值。同时以连续搅拌反应釜(CSTR)为例,提供MATLAB环境下残差补偿型混合模型的完整实现代码,详细展示从机理模型构建到数据驱动补偿的全流程,并给出工程实践中的应对策略,为工业建模提供可落地的技术方案。 关键词 混合建模、机理模型、数据驱动、工业建模、MATLAB

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 623

借助AI搞定国社科“研究内容”部分!用Gemini 3 Pro轻松撰写6大模块,让基金本子效率质量更上一层楼

所谓研究整体框架,是对课题研究逻辑结构与技术路径的系统阐述,其核心在于通过研究目标分解、研究内容模块化与研究方法整合,构建一个层次清晰、逻辑严密、科学可行的研究体系。撰写要求:1)分要点、分层次列出主要研究内容,保持各部分之间的逻辑性、层次性与系统性;研究可行性可理解为开展本课题在理论基础、研究方法、研究条件、人员结构、平台支撑及外部协作等方面的可实施程度,可从内部条件与外部条件两个维度进行系统论证。研究背景为:我正在申报xxx年xxx(项目名称),课题名称为:xxx,拟采用的主要研究方法包括:xxx等;

智能AI让学术科研更容易 965

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

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

杨春建的博客 1万+

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

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

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

梦幻天空 654

计算机控制技术及应用

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

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

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

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

weixin_30511039的博客 140

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

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、付费专栏及课程。

余额充值