【Spring Boot】06 @Value 与 @ConfigurationProperties

Spring Boot集成Nacos配置中心避坑指南:命名空间、Data ID与刷新机制详解 配置中心是微服务架构中实现配置外置化与动态管理的核心组件,其本质是将传统application.yml的静态加载升级为运行时远程拉取+热更新机制。理解Nacos配置加载原理,关键在于掌握Spring Boot启动生命周期与Nacos客户端初始化时机的协同关系——从bootstrap阶段命名空间(Namespace)的硬编码隔离,到Data ID生成规则与Spring Profile的耦合逻辑,再到@RefreshScope代理触发的配置重绑定过程。这一技术链路直接决定配置是否生效、能否热更新、在Docker 阅读详情

@ConfigurationProperties@Value
功能批量注入配置文件中的属性一个一个指定属性
松散绑定(松散语法)支持不支持
SpEL不支持支持
JSR303 数据校验支持不支持
复杂类型封装支持不支持
功能
@ConfigurationProperties 一句话搞定,直接批量注入
@ConfigurationProperties(prefix = "person")
@Value 需要一个一个进行指定
/**
     * <bean class="Person">
     *      <property name="LastMame" value=""></property>
     * </bean>
     *
     * value中可以输入:字面量/${key}从环境变量、配置文件中获取值/#{SpEL}
     */
@Value("${person.last-name}")
private String lastName;
@Value("#{5*2}")
private Integer age;
@Value("true")
private Boolean boss;
松散语法:
lastName: zhangsan
last_name: zhangsan
last-name: zhangsan

以上三种都可以进行绑定

SpEL:
@Value("#{5*2}")
private Integer age;

支持表达式,可以进行计算

JSR303 数据校验
@ConfigurationProperties(prefix = "person")
@Validated

在 @ConfigurationProperties 后面加上 @Validated 注释,证明下面数据需要校验

例在字段上加上 @Email 注释,即说明 lastName 字段必须为邮件格式,否则不能运行成功

// lastName 必须是邮箱格式
@Email
private String lastName;
复杂类型封装

如果有 Map 或者 List 字段等复杂类型封装,@Value 是获取不到值的,故:

如果说,我们只要再某个业务逻辑中需要获取一下配置文件中的某个值,使用 @Value

如果说,我们专门编写一个 javaBean 来和配置文件进行映射,使用 @ConfigurationProperties

配置文件不管是 yml 还是 properties 都能获取到值

【Spring】@Value读取properties中文乱码解决方案 今天遇到@value()读取配置文件信息,中文乱码。 阅读详情

相关推荐

IFIX数据库Datebase当前值问号

IFIX数据库Datebase当前值问号,已解决,亲测有效 在OPC PowerTool有数据的情况下,IFIX数据库Datebase当前值显示???? 问题分析及解决方法 我的IFIX5.8版本,其它版本可参考 打开IFIX工作台:应用程序–任务控制–I/O驱动–OPC Client;查看OPC驱动是否被禁用,点击启动,变成激活状态即可;若点击启动无法激活OPC驱动,需要重新安装OPC驱动,方法如下: 下载I/O Driver文件 下载链接:https://download.youkuaiyun.com/down

Ron_Tso的博客 2759

深入理解Spring Boot配置属性注入:@ConfigurationProperties和@Value

介绍: 在Spring Boot应用程序中,配置属性的注入是一项重要的功能,它允许我们将配置文件中的属性值注入到我们的代码中,以便在运行时进行配置和定制。注解适用于单个属性的注入,提供了更灵活的属性注入方式。在实际开发中,可以根据项目需求选择适合的注解,并合理利用配置属性来定制和配置应用程序。这两个注解有不同的用途和功能,本文将详细介绍它们的使用方法和示例代码。注解用于直接注入单个属性值,它提供了更灵活的属性注入方式。适用于一组相关属性的注入,提供了对象绑定和验证的便捷方式。对象来访问这些属性值。

weixin_42279822的博客 2963

stm32使用TB6600驱动器控制42BYGH型步进电机

stm32使用TB6600驱动器控制42BYGH型步进电机

qq_35653974的博客 9585

科普文:Java基础系列之【Spring参数注解@Value 和@ConfigurationProperties 便捷读取配置信息】

灵活性高:可以通过表达式进行复杂的属性值处理和转换。例如,可以根据环境变量或系统属性进行动态计算和组合。适用于少量简单的属性注入:配置简洁,代码量相对较少。类型安全:能够自动进行类型转换和校验,减少了因类型不匹配导致的运行时错误。例如,配置的字符串会自动转换为指定的整数、布尔等类型。2.便于维护大量属性:可以将一组相关的属性封装在一个类中,提高了代码的可读性和可维护性。3.支持复杂数据结构的校验和转换:对集合、Map 和数组等数据结构能够进行有效的处理和校验。

为无为,事无事,味无味。 2168

第3章 信息技术服务(一)

对 第三章 《信息技术服务》中第一、二、三节 <内涵与外延、原理与组成、服务生命周期>进行总结、归纳

好好学习,天天向上的博客 733

基于ROS的室内移动机器人自主导航技术

随着机器人技术的发展,近些年来室内移动机器人的研究热度越来越高。本文主要利用ROS操作系统对室内移动机器人的建图定位与自主导航关键技术进行研究。 ROS是目前开发较为完整具有广阔应用前景的开源机器人操作系统,具有分布式、模块化、代码复用等优良特点。同时ROS还提供了许多开源库,在这些库的基础之上研究同时定位与地图构建和机器人自主导航技术可以节省大量时间。 ORB-SLAM2是比较优秀的视觉SLAM算法之一,它具有计算量比较小、能够实时运行等优点。在介绍ORB-SLAM2的框架之前,首先会介绍视觉SLAM的一

weixin_44553616的博客 1909

Spring常用注解-@Value @ConfigurationProperties

程序员的世界 935

低代码组件开发——OpenClaw智能助手的组件设计与开发(2026技术版)

OpenClaw智能助手的低代码组件开发平台采用分层架构设计,包含组件定义、注册、配置、渲染和生命周期管理等核心模块。该系统支持UI、功能、数据和集成四种组件类型,强调可重用性、可配置性和可扩展性。组件定义通过TypeScript、React等技术实现组件结构和行为的描述,组件注册中心基于Node.js和MongoDB管理组件版本。该平台通过React、Redux等技术实现组件渲染和状态管理,并提供完整的生命周期管理机制。这种架构设计显著提升了智能助手应用的开发效率和质量。

一键难忘的博客 407

Springboot|第五篇@Value和@ConfigurationProperties获取值比较

Springboot 是简化Spring应用开发的创建、运行、调试、部署等一系列问题的框架是J2EE开发的一站式解决方案,自动装配的特性可以让我们更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻松的搭建出一个WEB工程 [如果你觉得对你有帮助,欢迎转发分享给更多的人学习] 上篇学习了学习Spring Boot的配置文件的一些基本语法,接下来还是继续深入学习分析...

September的博客 2838

引以为戒:一个“看不见”的空格,导致上下文超限——从 `llama-server` 错误说起

文章摘要: 本文分享了Qwen工程团队在部署llama-server时遇到的参数失效问题:明明设置了-c 32768上下文参数,却仍报错"超出4096 tokens限制"。经排查发现,问题根源是批处理脚本中续行符^后存在两个空格,导致参数被忽略。文章详细解析了Windows批处理中^的严格语法规则(必须紧贴前字符),对比了错误与正确写法的差异,并给出4条实用建议:使用编辑器显示空白字符、调试时关闭@echo off、预检完整命令、优先单行命令。最后强调在AI系统部署中,此类"隐

刘一说的IT专栏 540

1.2 Spring AI V1.1.2版本 架构全景:模块拆解与设计哲学

Override// 检查请求的 Token 数量throw new TokenLimitExceededException("请求超出 Token 限制");@Override// 记录实际消耗的 Token@Override// 最先执行// 接口// 不同实现// 使用方无需改变定义抽象,保证可移植性提供 Fluent API,提升开发体验Advisor 机制提供扩展点,支持灵活定制模块化设计让你只引入需要的依赖自动配置。

小林夕程的博客 220

spring boot 通过@Value,@ConfigurationProperties获取配置

https://blog.youkuaiyun.com/oo570741825/article/details/77477373

qq_37954693的博客 655

一文速学数模-K-means聚类算法实战:信用卡用户画像聚类分析

该项目算是非常经典的金融业务用户画像的基础分析了,主要根据用户信用卡使用行为数据进行分析,根据收集到的不同字段信息,对每个用户划分类别。这里需要说明一下的是,聚类模型只是将具有相似行为的大部分用户聚集到一个类别里面,这点并不会考虑到每个字段的含义,也就是分成的类别并不是用户价值等级,此类别仅仅是这个类别大体相同的信用卡用户行为对象,并不能给每个用户价值打上标签,那是评价模型做的事,这里要注意不要搞混淆了,用户价值评价是评价模型决定的,而画像是聚类模型分析的。

master_hunter的博客 1万+

@Value和@ConfigurationProperties的对比

-数据校验的依赖--> <!server: port: 8085 person: id: 1 name: "张三" address: street: "河北省" city: "石家庄" postalCode: "050000" boss: true age: 20 birth: "2026/12/06" email: "2041130670@qq.com" hobby: "篮球" # 这个属性会被忽略,因为在 Person 类中没有对应字段 friends: - "李四" - "王五" - "赵六"

2301_77447249的博客 552

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

SpringBoot06-@ConfigurationProperties注解

@ConfigurationProperties注解的使用、@EnableConfigurationProperties注解的使用、宽松绑定、重用计量单位的应用(时间、数据大小)、bean的诗句校验、八进制问题

qq_31532983的博客 1360

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

@ConfigurationProperties Spring Boot配置文件取数据

EnableConfigurationProperties 是一个 Spring Boot 提供的注解,用于启用特定的 @ConfigurationProperties 类。这个注解通常用在 Spring 的配置类上,以显式地声明哪些 @ConfigurationProperties 类应该被 Spring 容器管理。使用 @Autowired 去进行注入, 如果是在配置类中使用 @EnableConfigurationProperties,则需要在配置类上添加该注解,并指定要启用的配置类。

ling_zhi_xin的博客 1738

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

springboot之@ConfigurationProperties分析

写在前面 关于springboot系列详细分析,可以参考这里。

wang0907的博客 4612

Spring Boot读取配置的几种方式

Spring Boot提供了多种灵活的读取配置方式,开发者可以根据项目的具体需求和场景选择合适的方式。@Value注解和@ConfigurationProperties注解是两种常用的注入配置值的方式,分别适用于单个属性注入和批量属性绑定。@ConfigurationProperties 可以将一组相关的配置绑定到一个 POJO 类中,非常适合处理复杂的配置结构。Environment 接口提供了一种以编程方式读取配置的方法,可以在任何 Spring 管理的 Bean 中使用。

刘皇叔说Java的博客 1775

Spring Boot 和 @ConfigurationProperties、 @Component 用法

Spring Boot 和 @ConfigurationProperties、 @Component 用法

qq_48080772的博客 499

Spring Boot配置文件详解

Spring Boot配置文件详解。包括1. SpringBoot提供了2种配置文件类型:properteis 和 yml/yaml2. 默认配置文件名称:application3. 在同一级目录入如果三类文件共存,优先级为:properties > yml > yaml。常见SpringBoot注解;application.yml配置文件基本配置

weixin_65978343的博客 2206

Spring Boot 之配置文件

Spring Boot 配置文件,yml 格式文件,配置文件位置、多环境配置文件、配置文件引用

欧尼熊不懂 的博客 2494

Spring Boot-11

application.properties/application.yml:在Spring Boot项目中,可以在application.properties或application.yml文件中定义配置属性。Spring Boot会自动读取这些文件,并将配置属性加载到应用程序的上下文中。可以使用@Value注解或@ConfigurationProperties注解来注入配置属性。

Flying_Fish_roe的博客 1205

Using @ConfigurationProperties in Spring Boot

Spring Boot uses some relaxed rules for binding properties to @ConfigurationProperties beans and supports hierarchical structure. So let’s create a @ConfigurationProperties bean: 0

u012300825的博客 280

Spring Boot学习笔记----读取配置文件

Springboot默认配置信息,都放置在application.properties文件中,位于工程目录的src/main/resource下。本文记录两种方法 (1)如何获取获取默认配置信息 (2)如何获取自定义配置信息常见问题 (1)Spring Boot Annotion processor not found in classpath (2)Re-run Spring Boot C

breakloop 2万+

SpringBoot自定义配置自动提示,避免报红:@ConfigurationProperties、spring-boot-configuration-processor、编译生成元数据

SpringBoot,使用配置类绑定配置属性(@ConfigurationProperties注解 + spring-boot-configuration-processor依赖),编译时自动生成配置属性的元数据(/META-INF/spring-configuration-metadata.json)。

宋冠巡的博客 2905

深入解析Spring Boot中读取配置文件数据的几种方式

除了使用Spring Boot默认的配置文件(如或),我们还可以自定义配置文件,并使用Spring Boot提供的工具进行读取。

xycxycooo的博客 1325
上一篇: 【Spring Boot】05 properties 配置文件以及编码问题
下一篇: 【Spring Boot】07 @PropertySource 和 @ImportResource
ZyhMemory
博客等级 码龄10年 43粉丝 165原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值