spring boot(22)-profile环境配置

springboot--多环境配置快速切换开发、测试、生产环境 环境隔离能力,快速切换开发、测试、生产环境步骤:1、标识环境:指定那些组件、配置在那个生效2、切换环境:这个环境对应的所有组件和配置就应该生效。 阅读详情

当你在公司时,可能会用公司内网的数据库进行开发,而当你回家时,就只能用本机的数据库了。不停的修改环境配置会很麻烦,profile的作用就是同时配置多个环境,在不同的环境使用不同的配置。

properties环境配置

第五篇讲过在application.properties中进行参数配置,现在如果要配置不同环境的properties,可以使用application-{环境名}.properties。

首先配置一个application-dev.properties文件,这是dev环境,用于在家开发,使用的localhost本机数据库。

spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=***
spring.datasource.password=***
再配置一个 application-test.properties文件,这是test环境,在公司时使用公司的测试数据库开发。

spring.datasource.url=jdbc:mysql://公司数据库ip地址:3306/test
spring.datasource.username=***
spring.datasource.password=***

激活环境

要激活不同的环境,需要在application.properties文件中配置spring.profiles.active参数,如下激活了dev本机环境。如果你到公司去只需要将dev改成test即可 。

spring.profiles.active=dev

项目结构


application.properties用来配置spring.profiles.active和公共参数。比如公司和本机的mysql用户名密码是一样的,就可以在application.properties中统一配置,不同环境只需要配置不同mysql的url。

@Profile注解配置方式

除了properties文件,也可以在java文件中使用@Profile注解来区分不同环境的代码。
@RestController
@Profile("dev")
public class SampleController {
	{
		System.out.println("当前是dev环境");
	}
如上,@Profile的参数为dev,也就是只有spring.profiles.active=dev的时候这个类才会生效。
{......}是java初始化块,在这个类初始化时会执行块的内容。现在启动项目,在控制台启动信息中会看到以下内容。

如果将@Profile的dev修改成test,那么与当前的dev环境不匹配,也就不会初始化这个类,不会在控制台打印这句话,除非激活test环境。
@Profile注解也可以用在方法上,仅对某一个方法生效
Jeecg-Boot企业级低代码开发实战:Spring Boot3+Vue3环境搭建与Online表单应用 低代码开发平台是提升Java企业应用交付效率的关键技术路径,其核心在于平衡开发自由度与自动化能力。Jeecg-Boot作为成熟开源方案,基于Spring Boot 3与Vue3技术栈,通过在线表单配置、AI辅助建模和可合并代码生成,实现零代码快速建模与高自由度二次开发的统一。它支持MySQL/Oracle/达梦等多数据库,深度适配信创环境,并提供OAuth2.1安全框架与微服务扩展能力。本文聚焦真实项目落地场景,详解JDK17+、Node.js20+、Vite6、pnpm9等关键环境配置要点,以及Docke 阅读详情

相关推荐

置顶必读(1) |《滚雪球学 Spring Boot 4.x》专栏目录导航篇(持续更新中)!

🏆 本文收录于 《滚雪球学 Spring Boot 4.x》 专栏。 本专栏面向 有一点 Java 基础,但没有系统学过 Spring Boot 的读者,采用“滚雪球式学习法”:先跑通、再理解、再重构、再上线,最终带你从第一个 Hello API 一路完成一个可部署、可监控、可扩展的后端项目。

**My Coding Family** 8万+

@Profile环境切换

@Profile可以提供在开发过程中的开发环境、测试环境、准生产环境、生产环境的切换。 例如在不同的环境使用不同的数据库源。 @Profile的value值与application.properties中的配置项spring.profiles.active的值相对应。 spring.profiles.active是对启用的配置文件的名称的定义。假设我们在application.properties中配置spring.profiles.active=dev,则项目启动时就会采用application-d

毅香雪海的博客 1951

Spring Boot入门(04):实现多环境配置文件切换,轻松搞定不同环境部署问题

在使用Spring Boot进行应用开发时,部署到不同的环境下会面临不同的配置问题。为了解决这个问题,可以使用多环境配置文件切换。这样可以轻松地切换不同环境下的配置,避免因环境不一致而引发的问题,提高应用的可靠性和稳定性。本文将介绍如何在Spring Boot中实现多环境配置文件切换,为读者解决不同环境部署的问题。

**My Coding Family** 4万+

【Spring】使用@Profile注解实现开发、测试和生产环境的配置和切换,看完这篇我彻底会了!

在容器中如果存在同一类型的多个组件,也可以使用@Profile注解标识要获取的是哪一个bean,这在不同的环境使用不同的变量的情景特别有用。说明我们为不同的数据源添加@Profile注解后,默认是不会向IOC容器中注册bean的,需要我们根据环境显示指定向IOC容器中注册相应的bean。此时,我们可以通过@Profile(“default”)注解来标识一个默认的环境,例如,我们将devDataSource环境标识为默认环境,如下所示。接下来,我们再来看下@Profile注解的源码,如下所示。

acupofcoffee的博客 1389

ELK 企业级日志分析系统(1)

ELK平台是一套完整的日志集中处理解决方案,将、Logstash和Kiabana三个开源工具配合使用, 完成更强大的用户对日志的查询、排序、统计需求。ElasticSearch:是基于Lucene(一个全文检索引擎的架构)开发的分布式存储检索引擎,用来存储各类日志。Elasticsearch 是用 Java 开发的,可通过 RESTful Web 接口,让用户可以通过浏览器与 Elasticsearch 通信。

云计算运维工程师的成长之路 1865

钣金设计高薪进阶:从材料工艺到DFMA降本增效全解析

钣金设计是机械制造领域的核心技术之一,它涉及将金属板材通过切割、折弯、焊接等工艺成型为所需零件。其核心原理在于深刻理解材料特性、制造工艺约束与结构力学,以确保设计在功能、成本与可制造性之间取得最佳平衡。这项技术的价值在于,优秀的钣金设计能直接驱动产品降本增效,通过优化材料利用率、简化装配工序和避免设计缺陷,为企业节省大量模具与生产成本。其应用场景广泛,从机箱机柜、汽车部件到电子设备外壳无处不在。本文将聚焦于实现这一价值的关键路径,深入探讨面向制造与装配的设计(DFMA)原则在钣金领域的实战应用,并剖析如何通

weixin_34301132的博客 395

@Profile 注解的介绍

@Profile的作用是把一些meta-data进行分类,分成Active和InActive这两种状态,然后你可以选择在active 和在Inactive这两种状态下配置bean,在Inactive状态通常的注解有一个!操作符,通常写为:@Profile("!p"),这里的p是Profile的名字。 三种设置方式:可以通过ConfigurableEnvironment.setActiveProfiles()以编程的方式激活。可以通过AbstractEnvironment.ACTIVE_PROFILES_PR

weixin_57763462的博客 1415

用OpenCV+ROS实现焊接机器人智能纠偏:线激光视觉的算法调参全流程

本文详细介绍了基于OpenCV和ROS的焊接机器人智能纠偏系统全流程。通过线激光视觉系统实时感知焊缝,重点解析了抗干扰图像预处理、改进的Steger算法提取激光条纹中心线,以及从2D像素到机器人基坐标系的完整坐标变换。该系统为应对焊接飞溅、弧光等复杂工况,实现高精度实时路径纠偏提供了从算法优化到工程集成的完整解决方案。

vodka的博客 160

注解装配Bean(六)——@Profile注解区分开发环境

注解装配Bean,讲解@Profile注解的使用

Monkeydesigner的博客 1999

Mission Planner连接Autopilot保姆级教程:从USB到无线全搞定

本文提供Mission Planner连接Autopilot的全面指南,涵盖USB直连、无线数传、蓝牙适配等多种连接方案。详细讲解驱动安装、波特率匹配、性能优化等关键步骤,并分享多链路冗余配置与故障转移的高阶技巧,助你快速解决连接问题。

weixin_28455801的博客 380

STM32CubeMX | 38-使用硬件SPI驱动以太网模块(W5500)

本篇详细的记录了如何使用STM32CubeMX配置STM32L431RCT6的硬件SPI外设与以W5500通信,驱动以太网模块。 1. 准备工作 硬件准备 开发板 首先需要准备一个开发板,这里我准备的是STM32L4的开发板(BearPi): W5500以太网模块 这里我使用常见的以太网模块W5500: W5500官网 http://www.w5500.cn/ W5500中文手册 iEthernet W5500 Datasheet 软件准备 需要安装好Keil - MDK及芯片对应的包,以

Mculover666的博客(嵌入式) 7389

深入理解Spring Boot中的Profile配置

深入理解Spring Boot中的Profile配置大家好,我是微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我们来深入探讨Spring Boot中的Profile配置。Spring Boot的Profile机制提供了一种简便的方式来区分不同的环境配置,例如开发、测试和生产环境。通过Profile,...

weixin_34355348的博客 441

【图像去噪(Image Denoising)】关于【图像去噪】专栏的相关说明,包含适配人群、专栏简介、专栏亮点、阅读方法、定价理由、品质承诺、关于更新、去噪概述、文章目录、资料汇总、问题汇总(更新中)

你是否在全网苦寻【图像去噪(ImageDenoising)】的相关资料?你的目标是否是看懂【图像去噪(ImageDenoising)】的相关论文,复现代码,跑出结果,并试图创新?你是否需要发表【图像去噪(ImageDenoising)】的相关论文毕业?你是否需要做【图像去噪(ImageDenoising)】的相关项目,开发软件,研究算法,获得专利或者软著?只要是与【图像去噪(ImageDenoising)】有关的问题,那么请继续往下看。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 2万+

Spring Boot项目启动失败排查全攻略:从主类加载到环境配置

在Java企业级开发中,Spring Boot作为主流的微服务框架,其项目启动过程涉及类加载机制、依赖管理和自动装配原理等核心技术概念。理解这些原理对于解决常见的启动问题至关重要,例如类路径配置错误、依赖冲突和环境不一致等。从技术价值角度看,掌握系统的启动排错方法不仅能提升开发效率,还能加深对JVM类加载机制和Spring容器初始化过程的理解。在实际应用场景中,无论是端口占用、YAML配置语法错误,还是第三方库集成时的版本兼容性问题,都需要开发者具备从现象定位根因的能力。本文结合IDEA开发环境中的真实案例

weixin_30520015的博客 462

GaussDB本地安装手册(主备模式)

如果实例状态是Normal,则安装成功。三节点集中式配置文件。

Sebastien23的博客 2638

uniapp [全端兼容] - 实现省市区选择器三四级联动组件,uniapp选择地址自定义省市区三级联动插件,弹框式多级联动选择器区域选择(全平台兼容苹果安卓App、支付宝微信小程序、移动端H5网页)

uni-app省市区选择器,省市区街道三级四级联动选择器,uniapp自定义多列选择器省市两级联动,uniapp picker组件实现多级联动,h5移动端网页,微信小程序,支付宝小程序,Android安卓,苹果ios,app,nvue,uniApp选择器省市区县街道乡镇,uniapp实现省市区选择联动,uniapp城市三级联动(自定义组件)_uniapp三级联动,picker插件省市区联动,uniapp小程序省市区选择器,uni-app 省市区街道的四级联动选择,uniapp怎样实现省市区地址三级联动uni

🏆 前端领域优质创作者 1万+

【最新版】Spring Boot 项目打包部署到服务器

Java 打包部署到服务器教程

Edison's 小宇宙 2万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Spring Boot核心架构与实战优化指南

Spring Boot作为Java企业级开发的标杆框架,其核心设计思想是约定优于配置。通过自动装配机制,开发者无需手动编写大量XML配置,框架会根据classpath依赖自动完成组件装配。这种设计显著提升了开发效率,使得开发者可以更专注于业务逻辑实现。在技术实现上,Spring Boot通过条件注解(如@ConditionalOnClass)和starter依赖体系,实现了模块化、可插拔的架构。对于企业级应用,合理的多环境配置管理、数据库选型(如JPA与MyBatis对比)以及性能调优(如Tomcat参数优

weixin_30920597的博客 461

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Spring Boot 打包不同环境配置与 Shell 脚本部署

点击上方蓝色“方志朋”,选择“设为星标”回复“666”获取独家整理的学习资料!本篇和大家分享的是 Spring Boot 打包并结合 Shell 脚本命令部署,重点在分享一个shell 程...

方志朋的博客 93

宝塔面板与Spring Boot:现代化部署的最佳实践

本文详细介绍了如何利用宝塔面板高效部署Spring Boot后端项目,涵盖从服务器环境配置、JAR包部署到数据库与缓存优化的全流程。通过可视化操作与命令行结合的现代化部署方案,帮助开发者快速实现生产级Java应用部署,提升运维效率与系统稳定性。

weixin_28826961的博客 455

Spring Boot实现多环境配置

在实际项目开发过程中,我们往往需要区分开发,测试,联调,预发布,生产等不同的应用环境。这些应用环境用途不同,对应环境的配置项,稳定性,数据质量,保障性,可接触人群等要求也不同,比如 Swagger 一般上在生产时是关闭的;要是没有多环境的自由切换,部署起来是很繁琐也容易出错的。使用多环境配置,可以针对不同的应用环境,提前配置好对应的环境配置信息。在使用时,仅需要修改具体的环境名称,就可以把对应环境配置信息,系统参数等相关内容全部切换。启动Spring Boot 应用程序。读取不同环境里面的name的值。

HBLOG 698

Spring Boot 3.x原生编译:启动速度提升98%的实战指南

Java应用的启动性能优化一直是开发者关注的重点,特别是在云原生和微服务架构中。传统JVM模式由于需要类加载和JIT编译,导致冷启动时间较长。GraalVM原生镜像技术通过提前编译(AOT)将Java字节码直接转换为原生机器码,从根本上解决了这个问题。该技术在Spring Boot 3.x中得到深度集成,通过条件反射配置和资源预加载等机制,使应用启动时间从秒级降至毫秒级。实测数据显示,原生编译后的Spring Boot应用启动速度提升98%,内存占用减少60%以上,特别适合需要快速扩缩容的Serverles

weixin_30723433的博客 312

Spring Boot项目启动失败排查指南:从原理到实战的完整解决方案

在Java企业级开发中,依赖注入(Dependency Injection)和控制反转(IoC)是Spring框架的核心设计思想,它们通过容器管理对象的生命周期和依赖关系,实现了组件间的解耦。其技术价值在于提升了代码的可测试性、可维护性和灵活性。在实际应用场景中,开发者常基于Spring Boot快速构建微服务或Web应用。然而,复杂的依赖关系和自动配置机制也可能导致应用启动失败,例如出现Bean创建异常或循环依赖问题。针对这类高频痛点,掌握一套从环境检查、日志分析到代码调试的系统化排查方法至关重要。本文聚

weixin_30700099的博客 1076

spring boot不同环境读取不同配置

具体做法: 不同环境的配置设置一个配置文件,例如:dev环境下的配置配置在application-dev.properties中;prod环境下的配置配置在application-prod.properties中。 在application.properties中指定使用哪一个文件1、application-dev.properties(dev环境下的配置) [plain...

weixin_34209406的博客 245

Spring Boot项目从本地到云服务器全流程部署实战指南

项目部署是将本地开发的应用迁移到服务器环境,使其成为稳定对外服务的关键环节。其核心原理在于弥合开发与生产环境之间的差异,通过配置管理、依赖隔离和服务守护,确保应用在目标服务器上稳定运行。这一过程的技术价值在于实现了应用的可移植性、可维护性和可扩展性,是软件生命周期从开发走向运维的重要桥梁。典型的应用场景包括Web应用、微服务架构以及需要复杂环境管理的项目(如集成数据库、缓存或消息队列的后端服务)。本文以Spring Boot应用为例,详细拆解了从服务器选型、安全加固、依赖梳理、文件传输、服务化启动(使用Sy

diandingyin9417的博客 456
上一篇: centos(5)-yum线上软件管理
下一篇: centos(6)-目录和文件
free_java
博客等级 码龄10年 664粉丝 131原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值