Spring Boot 如何读取 application.yml 作为配置

[arcgis插件]在批量出图时,如何把图层属性表以动态表格的形式插入到布局页面 在批量出图时,如何把图层属性表以动态表格的形式插入到布局页面。 阅读详情

Spring Boot 的一大优势是 “约定优于配置” + “配置外部化”。
你不需要写 XML 或硬编码参数,而是把配置放在 application.yml(或 application.properties) 中,Spring Boot 自动加载并注入到你的应用中。
✅ 支持格式:.properties(键值对) 和 .yml(YAML,层次清晰,推荐)

Spring Boot 会按以下顺序查找 application.yml(后出现的会覆盖前面的):

  • 当前项目根目录下的 /config 子目录
  • 当前项目根目录下
  • classpath 下的 /config 包
  • classpath 根路径(即 src/main/resources/)

最常用:src/main/resources/application.yml

基本用法:在代码中读取配置

1.使用 @Value(适合少量配置)

# application.yml
app:
  name: MySpringBootApp
  version: 1.0.0
@Component
public class AppConfig {
    @Value("${app.name}")
    private String appName;

    @Value("${app.version}")
    private String version;
}

2.使用 @ConfigurationProperties(推荐!适合结构化配置)
步骤 1:在 application.yml 中配置

# application.yml
database:
  host: 192.168.1.100
  port: 3307
  username: admin
  password: secret123

步骤 2:定义配置类

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

@Component
@ConfigurationProperties(prefix = "database") // 对应 yml 中 database 开头的配置
public class DatabaseConfig {
    private String host = "localhost";
    private int port = 3306;
    private String username;
    private String password;

    // 必须有 getter/setter(或用 Lombok @Data)
    public String getHost() { return host; }
    public void setHost(String host) { this.host = host; }
    public int getPort() { return port; }
    public void setPort(int port) { this.port = port; }
    // ... 其他 setter/getter
}

步骤 3:在其他 Bean 中注入使用

@Service
public class UserService {
    private final DatabaseConfig dbConfig;

    public UserService(DatabaseConfig dbConfig) {
        this.dbConfig = dbConfig;
    }

    public void connect() {
        System.out.println("连接数据库: " + dbConfig.getHost() + ":" + dbConfig.getPort());
    }
}

支持复杂结构:嵌套对象、List、Map

# application.yml
app:
  security:
    jwt:
      secret: mySecretKey
      expire-hours: 24
    cors:
      allowed-origins:
        - http://localhost:3000
        - https://myapp.com
@Component
@ConfigurationProperties(prefix = "app")
public class AppProperties {
    private Security security = new Security();

    public static class Security {
        private Jwt jwt = new Jwt();
        private Cors cors = new Cors();

        public static class Jwt {
            private String secret;
            private int expireHours;
            // getters/setters
        }

        public static class Cors {
            private List<String> allowedOrigins = new ArrayList<>();
            // getter/setter
        }
        // getters/setters
    }
    // getter for security
}

启用 @ConfigurationProperties 的两种方式

1. 在配置类上加 @Component

@Component
@ConfigurationProperties(prefix = "xxx")
public class XxxProperties { ... }

2. 在 @Configuration 类上使用 @EnableConfigurationProperties

@Configuration
@EnableConfigurationProperties({DatabaseConfig.class, AppProperties.class})
public class AppConfig { }

不要同时用两种方式,否则可能创建多个实例

Direct-LiNGAM算法理解 现在是大数据的时代,数据即是财富。那么如何从数据中发现因果关系呢?这是我们促进我们更加高效利用数据的一个问题?本文介绍了一种方法,可以在符合条件的观察数据中恢复出数据背后的因果结构,帮助我们更好理解数据的产生机制。 阅读详情

相关推荐

【PDN仿真笔记9-使用Sigrity PowerDC进行IR Drop仿真的方法】

使用Sigrity PowerDC进行IR Drop进行仿真的方法

qq_42682826的博客 8001

Springboot配置文件(application.yml)的加载顺序

1. Jar包同级目录 /config 2. Jar包同级目录 3. classpath 下的/config 4. classpath 根路径/

h_bpdwn的博客 1101

[小技巧] 如何复制知乎电子书中的文字和图片

文章目录一、背景二、复制文字1.最简单的方法(适合短小文字)2. 进阶方法(适合大段文字)三、复制图片四、注意事项 一、背景 有时候希望从书中摘录一部分文字作为笔记,但是知乎电子书阅读时候是禁止copy的,要么手打,要么OCR,给学习带来了一些不便。 审查元素后发现,知乎电子书是把文字分成一段一段的,试图F12直接copy不太方便。 本问将以谷歌Chrome浏览器为例,给出复制小技巧。 二、复制文字 1.最简单的方法(适合短小文字) 选中你需要的文字,左键单击不放,直接拖到地址栏。 然后可以从地址栏中

江南蜡笔小新 9246

SpringBoot——加载配置文件

springboot配置文件加载顺序和自定义加载

FlyLikeButterfly的博客 4547

基恩士数字光纤放大器

在2路输出类型上此为通道开关,并未配备0路类型;设置已搞不清楚不知道怎么办时···完成初始化后,模块重新显示当前值。①无工件时短按[SET]①有工件时短按[SET]各部位的名称和基本操作。可以手动微调设置值。

大小曲奇的博客 1万+

Halcon dyn_threshold详解

dyn_threshold 原型 dyn_threshold(OrigImage, ThresholdImage : RegionDynThresh : Offset, LightDark : ) 功能 利用局部阈值分割图像 参数列表 OrigImage (input_object):原始图像 ThresholdImage (input_object):处理后图像(一般采用滤波处理) RegionDynThresh (output_object):分割后区域 Offset (input_control):灰

ZiLiangQin的博客 1万+

【SpringBoot系列】读取yml文件的几种方式

Spring Boot读取yml文件的主要方式有以下几种:​ 我们可以在bean的属性上使用@Value注解,直接读取yml中的值,如:application.yml: Bean: 2.Environment对象 我们可以通过注入Environment对象来读取yml值,如: 3.@ConfigurationProperties注解 我们可以使用@ConfigurationProperties注解将yml中的值映射到bean的属性上,如:application.yml: Bean: 4.YmlProper

Venus's Blog 9万+

OpenClaw + Antigravity + 飞书完整部署教程

在 Linux 服务器上部署 OpenClaw,使用 Antigravity 本地代理 AI 模型,并接入飞书实现 24 小时在线 AI 助手。

Maynor的博客 1788

springboot 读取application.yml配置中信息的三种方式

springboot 读取application.yml配置中信息的三种方法

f234344435的博客 1万+

1分钟吃透一篇文献,借助AI辅助各部分精读,效率提升10倍(附AI提示词)

你现在是一名【研究领域】的资深博士,非常擅长阅读与分析长篇论文,那么接下来我会给你上传一篇论文,请你按照我的要求辅助我阅读。

qq_64378896的博客 639

第10集:AIOps 平台架构设计!画出面试官最想看的系统全景图

本文介绍了如何将AIOps平台的六大功能模块整合为四层架构设计,并生成专业系统全景图。文章首先指出面试中架构设计能力的重要性,强调一张清晰的架构图能直观展现全局观。随后指导读者检查项目结构,准备绘图环境。核心部分详细拆解了四层架构:数据采集层(Prometheus、ELK等)、AI分析层(巡检、告警、预测等)、决策执行层(工作流引擎、自愈Agent)和展示交互层(API、控制台)。通过Python代码自动生成模块依赖关系图,并提供了面试讲解技巧。全文旨在帮助开发者在面试中系统性地展示项目架构设计能力。

qq_2937655951的博客 92

Spring Boot系列 - 4. 读取配置文件(application.yml)中的属性值

Spring Boot系列 - 4. 读取配置文件(application.yml)中的属性值

Think Different 8927

yolov26改进 | 检测头篇 | 利用渐近特征金字塔网络AFPN改进yolov26检测头融合P2网络结构(让小目标无所遁形,全网独家首发)

本文介绍一种基于AFPN渐近特征金字塔网络改进的YOLOv26四检测头Detect_FPN。AFPN通过逐级融合底层细节、中层结构与高层语义特征,缩小不同尺度特征之间的语义差距,减少直接融合带来的信息冲突,使检测头获得更稳定、更充分的多尺度表达。本文进一步增加高分辨率小目标检测分支,强化对微小目标、密集目标和复杂背景目标的感知能力,适合工业缺陷、遥感及无人机等场景。文中将展示基础模型与改进模型的训练对比结果,并提供完整代码、配置文件、模块注册方法及Codex修改思路,方便直接复现和二次创新。

Snu77的博客 371

Spring boot 中主动读取Application.yml 配置文件

原因: 因为配置中心需要统一配置文件原因,未方便后续统一配置变更,现在将redis.properties 中配置迁移到Application.yml 配置中原来配置: 原来读取配置代码:// 构建缓存客户端private static JedisCluster cluster;private static final GsonBuilderbuilder = new GsonBuilder(...

weixin_41007138的博客 448

IEM模型,地表粗糙度模拟

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

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

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

Spring Boot-4核心配置文件application和自定义配置文件properties/yml的读取

  Spring-Boot的核心配置文件是application.properties或application.yml,文件名是写死的。可以根据自己习惯选择。他们都放在/src/main/resources路径下。当变量较少或者属于全局变量时候,我们通常会将它们放在核心配置文件中。如果变量较多或不属于全局变量,为了核心配置文件不显得冗余繁杂,我们自定义配置文件,存放这些变量。   核心配置文件的...

ChinaMuZhe的博客 2946

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

spring boot 读取配置文件(application.yml)中的属性值

在spring boot中,简单几步,读取配置文件(application.yml)中各种不同类型的属性值。

Clement-Xu的专栏 13万+

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

spring boot 读取配置文件(application.yml)中的自定义属性值

来源: http://blog.csdn.net/clementad/article/details/51970962

zhaoyang10的专栏 3142

spring boot 读取application.yml自定义配置文件

(1)引入依赖包 &lt;!--读取资源文件依赖--&gt; &lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; &lt;artifactId&gt;spring-boot-configuration-processor&lt;/artifactId&g...

weixin_40079336的博客 1614

spring boot controller、service等读取application.yml配置(Environment)

创建ApplicationConfigure类import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.bind.RelaxedPropertyResolv

殷长庆的博客 1399

Spring Boot读取 properties或者application.yml 配置文件中的数据

Spring Boot读取配置的 5 种方式 读取application文件 在application.yml或者properties文件中添加: user.address=china user.company=demo user.name=让我康康 1、使用@Value注解读取 直接代码如下: package im.homeapi.controller; import org.springframework.beans.factory.annotation.V...

Curtain的博客 5151

Spring Boot 在logback.xml中读取application.yml中配置的日志路径

Spring Boot 在logback.xml中无法读取application.yml中配置的日志路径 原因分析: logback.xml的加载顺序早于springboot的application.yml 常用解决方法: 1、source中带有${} springProperty scope="context" name="LOG_HOME" source="logging.path...

墨咖 3842

spring boot 读取配置文件(application yml)中的属性值

spring boot 读取配置文件(application yml)中的属性值

qq_44947882的博客 416

Spring boot 读取配置文件(application.yml)中的属性值

1、引入依赖 <!-- 支持 @ConfigurationProperties 注解 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</...

qq_40728490的博客 989

Spring boot 读取配置文件application.yml (自定义属性值)

引入pom.xml支持 这个是对@ConfigurationProperties注解支持的包 &lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; &lt;artifactId&gt;spring-boot-configuration-processor&lt;/artifact...

成小新的博客 1万+
上一篇: Spring Boot 配置类注解@Configuration, @Bean
下一篇: java 里 array list set map对比
han_hanker
博客等级 码龄13年 35粉丝 106原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值