详解Spring Boot Profiles 配置和使用
发布时间 - 2026-01-11 01:47:22 点击率:次介绍

Spring Profiles 提供了一套隔离应用配置的方式,不同的 profiles 提供不同组合的配置,在不同的环境中,应用在启动时通过选择激活某些特定的 profiles 来适应运行时环境,以达到在不同的环境可以使用相同的一套程序代码。
环境
- JDK 8
- Maven 3
- IntelliJ IDEA 2016
- Spring Boot 1.5.2.RELEASE
@Profiles
你可以在任何 @Component(@Service,@Repository) 或 @Configuration 注解标注的类中使用 @Profiles 注解:
public interface PaymentService {
String createPaymentQrcode();
}
@Service
@Profile("alipay")
public class AlipayService implements PaymentService {
@Override
public String createPaymentQrcode() {
return "支付宝支付二维码";
}
}
@Service
@Profile({"default", "wechatpay"})
public class WechatpayService implements PaymentService {
@Override
public String createPaymentQrcode() {
return "微信支付二维码";
}
}
在 Spring Boot 中,默认的 profile 是 default,因此,PaymentService.createPaymentQrcode() -> 微信支付二维码。
你可以通过 spring.profiles.active 来激活某个特定 profile:
java -jar -Dspring.profiles.active='alipay' xxx.jar
PaymentService.createPaymentQrcode() -> 支付宝支付二维码。
多环境配置
在Spring Boot 中,多环境配置文件可以使用 application-{profile}.{properties|yml} 的方式。
@Component
@ConfigurationProperties("jdbc")
public class JdbcProperties {
private String username;
private String password;
// getters and setters
}
开发环境 application-dev.properties 配置:
jdbc.username=root jdbc.password=123654
生产环境 application-prod.properties 配置:
jdbc.username=produser jdbc.password=16888888
或:
开发环境 application-dev.yml 配置:
jdbc: username: root password: 123654
生产环境 application-prod.yml 配置:
jdbc: username: produser password: 16888888
或:
只使用 application.yml,并在此文件中通过 --- 分隔符创建多 profile 配置:
app: version: 1.0.0 spring: profiles: active: "dev" --- spring: profiles: dev jdbc: username: root password: 123654 --- spring: profiles: prod jdbc: username: produser password: 16888888
命令行启动:
java -jar -Dspring.profiles.active=prod xxxx.jar
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# Spring
# Boot
# Profiles配置
# Profiles
# springboot yml中profiles的巧妙用法(小白必看多环境配置)
# 使用spring.profiles.active来分区配置的方法示例
# Spring Boot配置特定属性spring.profiles的方法
# Spring Boot 2.4配置特定环境时spring: profi
# 你可以
# 可以使用
# 支付宝
# 在此
# 用在
# 命令行
# 配置文件
# 启动时
# 大家多多
# 类中
# 分隔符
# 以达到
# Configuration
# pre
# Repository
# PaymentService
# alipay
# Service
# class
# Profile
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道
如何在云主机上快速搭建多站点网站?
Python进程池调度策略_任务分发说明【指导】
如何撰写建站申请书?关键要点有哪些?
浏览器如何快速切换搜索引擎_在地址栏使用不同搜索引擎【搜索】
php json中文编码为null的解决办法
详解jQuery中的事件
Laravel如何处理文件下载请求?(Response示例)
如何快速配置高效服务器建站软件?
mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?
Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权
Windows10怎样连接蓝牙设备_Windows10蓝牙连接步骤【教程】
Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)
如何用PHP快速搭建高效网站?分步指南
百度浏览器网页无法复制文字怎么办 百度浏览器复制修复
Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案
韩国服务器如何优化跨境访问实现高效连接?
独立制作一个网站多少钱,建立网站需要花多少钱?
如何用AWS免费套餐快速搭建高效网站?
网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?
b2c电商网站制作流程,b2c水平综合的电商平台?
Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧
如何在橙子建站上传落地页?操作指南详解
Laravel怎么实现模型属性的自动加密
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制
Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】
如何快速搭建安全的FTP站点?
如何快速选择适合个人网站的云服务器配置?
Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)
香港服务器网站卡顿?如何解决网络延迟与负载问题?
laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析
网站建设要注意的标准 促进网站用户好感度!
香港服务器租用费用高吗?如何避免常见误区?
如何快速搭建支持数据库操作的智能建站平台?
三星、SK海力士获美批准:可向中国出口芯片制造设备
Claude怎样写结构化提示词_Claude结构化提示词写法【教程】
Laravel如何配置任务调度?(Cron Job示例)
Python自然语言搜索引擎项目教程_倒排索引查询优化案例
Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】
香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化
油猴 教程,油猴搜脚本为什么会网页无法显示?
MySQL查询结果复制到新表的方法(更新、插入)
如何快速使用云服务器搭建个人网站?
ChatGPT 4.0官网入口地址 ChatGPT在线体验官网
如何用美橙互联一键搭建多站合一网站?
如何挑选优质建站一级代理提升网站排名?
七夕网站制作视频,七夕大促活动怎么报名?
米侠浏览器网页图片不显示怎么办 米侠图片加载修复
魔毅自助建站系统:模板定制与SEO优化一键生成指南

