SpringBoot - @PropertySource注解使用详解

SpringBoot属性源PropertySource PropertySource PropertySource主要是对属性源的抽象,包含属性源名称和属性源内容对象。其方法主要是对这两个字段进行操作。 public abstract class PropertySource<T> { //属性源名称 protected final String name; //属性源 protected final T source; // 构造器 public PropertySource(String 阅读详情

写在前面

SpringBoot默认能够读取resources目录下的配置文件,当我们的配置文件不在SpringBoot默认能够读取的目录下怎么办?
@PropertySource,可以加载指定的、非application.properties文件的、未在SpringBoot默认加载目录的、自定义的属性文件(*.properties)到Spring容器中,@PropertySource目前还不支持对YML配置的读取。

加载目录

当我们创建一个SpringBoot项目时,默认在resources目录下就有一个application.properties文件,可以在该文件中进行相关配置。但是在SpringBoot中默认会从四个地方查找application.properties文件。
①。项目根目录下的config目录下
②。项目根目录下
③。resources目录下的config目录下
④。resources目录下
在这里插入图片描述

@PropertySource注解

例:在resource目录下,自定义了一个mallx.properties文件,根据上面的描述可知,该文件不会自动别加载:

mallx.spu.title=大学生白色丝袜
mallx.spu.price=7500
mallx.spu.stock=999

可以使用@PropertySource + @Value 或者 @PropertySource + @ConfigurationProperties,这两种方式完成配置文件的加载和读取。

方式一:@PropertySource + @Value组合使用
@Component
@PropertySource("classpath:mallx.properties")
public class MallxSpu {
    @Value("${mallx.spu.title}")
    private String title;
    @Value("${mallx.spu.price}")
    private Long price;
    @Value("${mallx.spu.stock}")
    private Integer stock;
}
方式二:@PropertySource 和 @ConfigurationProperties组合使用,使用SpringBoot类型安全的属性注入策略进行配置文件的加载。当配置的属性非常多的时候,采用@Value比较繁琐,引入@ConfigurationProperties注解,并配置了属性的前缀,Spring会自动将Spring容器中对应的数据注入到对象对应的属性中。
@Component
@PropertySource("classpath:mallx.properties")
@ConfigurationProperties(prefix = "mallx.spu")
public class MallxSpu {
    private String title;
    private Long price;
    private Integer stock;
}
SpringBoot配置@PropertySource、@ImportResource、@Bean注解 引言 @ConfigurationProperties 与@Bean结合为属性赋值 与@PropertySource(只能用properties文件)结合读取指定文件 @Validation 支持使用JSR303为配置文件进行值校验 @ImportResource 读取外部的配置文件 @PropertySource 作用 加载指定的配置文件。 在之前我们知道@Configurati... 阅读详情

相关推荐

springboot注解@PropertySource使用Demo

springboot注解@PropertySource使用Demo,配合文章地址https://blog.youkuaiyun.com/zhizhuodewo6/article/details/82021101

SpringBoot中的 @PropertySource

前言 我们在使用 SpringBoot 的过程中经常会接触到需要注入配置文件中的信息,就比如 resources 目录下的 application.properties,因为 SpringBoot 中默认的配置文件就是它,所以我们不需要额外的配置,直接在其中写上我们需要的信息即可,但是要是我们想自己在其他目录下建配置文件该怎么办呢,那么坐好了,我要开始放大招了。。。 示例 示例目录

张先森的博客 1万+

Spring Boot自定义配置属性源(PropertySource)

主要介绍了Spring Boot自定义配置属性源(PropertySource),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

Spring Boot 注解(五)@PropertySource

用法: @PropertySource 注解提供便利和声明的机制添加 PropertySource 到Spring的 Environment @PropertySource 和 @Value组合使用,可以将自定义属性文件中的属性变量值注入到当前类的使用@Value注解的成员变量中 @PropertySource 和 @ConfigurationProperties组合使用,可以将属性文件与一个Java类绑定,将属性文件中的变量值注入到该Java类的成员变量中 例子: db.properties.

yiguang_820的博客 1702

STM32 USB2.0 转 Type-C 接口设计与实现

本文详细介绍了STM32 USB2.0转Type-C接口的设计与实现方案,涵盖硬件电路设计、软件配置及调试技巧。重点解析Type-C接口的CC引脚配置和电源管理,提供设备模式、主机模式及双角色模式的实现方法,帮助开发者解决实际应用中的连接稳定性和ESD防护等问题,提升产品可靠性和兼容性。

blockchain9miner的博客 1020

数据库系统概论课后习题答案(第五版 王珊、萨师煊)

第1章 绪论 1 .试述数据、数据库、数据库系统、数据库管理系统的概念。 答: ( l )数据( Data ) :描述事物的符号记录称为数据。数据的种类有数字、文字、图形、图像、声音、正文等。数据与其语义是不可分的。解析在现代计算机系统中数据的概念是广义的。早期的计算机系统主要用于科学计算,处理的数据是整数、实数、浮点数等传统数学中的数据。现代计算机能存储和处理的对象十分广泛,表

早知晓的博客 11万+

SpringBoot——【@PropertySource()和@ImportResource()注解说明】

@PropertySource()和@ImportResource()注解说明 @PropertySource() 加载指定配置文件 将指定配置文件中配置、映射的指定类的属性值中、 如: 这是一个类要映射指定配置文件的值到类中 @Component @ConfigurationProperties(prefix = "person") @PropertySource(value = {"classpath:person.properties"})//加载person.properties publi

weixin_44432069的博客 403

光伏发电预测(LSTM、CNN_LSTM和XGBoost回归模型,Python代码)

一旦结果与预测差距较大,可能存在光伏系统的问题,需要找出原因,然后采取适当措施来修复光伏系统并做出更好的决策。例如,根据准确的预测,光伏系统运营商可以平衡电力消耗,并将多余的电力储备用于紧急情况。然而,光伏系统的发电量估算是一个挑战,因为光伏系统的发电量受到天气条件的极大影响。整个项目文件夹(第一个文件夹为xgboost模型相关的包文件,xg.py是xgboost模型英文注释版本,xg_chinese.py是xgboost模型中文注释版本)表示空气的温度,通常以摄氏度(°C)或华氏度(°F)为单位。

2301_79699110的博客 3034

spring boot注解之@PropertySource和@ImportResource

@PropertySource:加载指定的配置文件 @PropertySource(value = "classpath:person.properties") @Component @ConfigurationProperties(prefix = "person") public class Person { @ImportResource:导入Spring的配置文件,让配置文件中的内容生效;...

weixin_44535446的博客 176

2024秋招,腾讯测试与质量管理工程师一面

家人们,秋招都开奖了吗,拿到自己心仪的offer了吗,还是在准备明年的春招呢?今天我记录一下,之前面试腾讯测开的一面过程面试官人非常好,我回答中有问题的地方,及时帮我指正同时耐心回答我的反问只可惜我当时的能力不足以达到鹅厂的标准,遗憾错过。

chowley的博客 1059

Python 爬虫进阶技巧:新手必学的反爬突破与效率优化

本文系统总结了爬虫进阶的核心技巧,针对新手常见的反爬拦截、效率低下、动态页面解析等痛点问题,提出了可落地的解决方案。主要内容包括:通过随机UA池、代理IP池和Cookie池突破常见反爬机制;利用多线程/异步请求提升爬取效率;使用Selenium解析动态渲染页面;以及数据清洗方法提升数据质量。文中提供了完整的代码示例和实战对比数据,并强调爬虫开发应遵守合规性要求。这些技巧能帮助开发者快速提升爬虫实战能力,应对80%以上的常见爬取需求。

2503_91057718的博客 1436

Spring Boot注解之@PropertySource与@ImportResource

@PropertySource:加载指定的配置文件。 @Component @ConfigurationProperties(prefix = "person") @PropertySource(value = {"classpath:person.properties"}) public class Person { //@Value("${person.last-name}") ...

Dannie的博客 231

设计四翼无人机(Quadcopter)的自主降落控制算法

为四翼无人机建立动力学模型,包括其姿态(Pitch, Roll, Yaw)和位置(X, Y, Z)的变化。可以使用Aerospace Blockset中的预制模块,或者根据具体需求构建自定义模型。示例:简化动力学模型利用块模拟四翼无人机的基本行为,确保模型能够反映电机输出如何影响姿态和位置变化。

amy_mhd的博客 243

spring boot使用@Value,@PropertySource注解使用

spring boot使用@Value,@PropertySource注解使用 ******@Value****** 在spring boot中,有些变量根据需求配置在application.properties中, 在应用程序中使用@Value注解获取值。 eg: 在配置application.properteis配置一个键值对: TestValue=This is my test!...

西京刀客 1517

目标检测基础

目标检测是计算机视觉的核心任务,需同时对图像中的物体进行定位与识别。传统方法存在速度慢、精度低等问题,而深度学习显著推动了该领域发展,使实时高精度检测成为可能。检测的核心是为每个物体预测边界框坐标和类别标签。为实现高效检测,引入了锚框机制,通过预设多尺度、多宽高比的候选区域,缩小预测偏移量,提升定位精度。训练时,通过计算锚框与真实边界框的交并比 (IoU) 确定正负样本,并基于此生成类别标签和坐标偏移量作为监督信号。该方法提升了检测器对多尺度目标和复杂场景的鲁棒性。

盼小辉丶的博客 2774

十八万字《python从零到精通教程》第二版,贴心保姆教你从零变大神,学不会找我

文章目录一.pycharm下载安装二.python下载安装三.pycharm上配置python四.配置镜像源让你下载嗖嗖的快4.1pycharm内部配置4.2手动添加镜像源4.3永久配置镜像源五.插件安装(比如汉化?)5.1自动补码神器第一款5.2 自动补码神器第二款5.2汉化pycharm5.3其它插件六.美女背景七.自定义脚本开头八、这个前言一定要看九、python入门十、python缩进十一、Python注释1.单行注释2.多行注释十二、Python 变量1.变量定义理解2. 变量名命名3. 分配多个

全栈川川 7万+

SpringBoot标签之@ConfigurationProperties、@PropertySource注解的使用

当获取主配置文件中属性值时,只需@ConfigurationProperties(prefix = "person")注解来修饰某类,其作用是告诉springBoot,此类中的属性将与默认的全局配置文件中对应属性一一绑定。属性名必须是application.yml或application.properties。【prefix = "person"】表示与配置文件中哪个层级...

227

计算机控制技术及应用

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

spring boot中关于获取配置文件注解的使用@ConfigurationProperties、@Value、@PropertySource

spring boot中关于获取配置文件注解的使用@ConfigurationProperties、@Value @ConfigurationProperties @ConfigurationProperties的可以添加在实体类上,会将默认配置文件中设置的值按照键值对应的关系自动映射到实体类中 例如: #配置文件内容 person: age: 18 name: 张三 man: true birthday: 1997/03/19 map: {k1: 11,k2:

LHFFFFF的博客 501

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

SpringBoot总结(五)——@PropertySource注解与@ImportResource注解

一、@PropertySource注解 我们已经知道,@ConfigurationProperties与@Value都可以用于获取配置文件的属性值,但是我们发现,这两个注解在SpringBoot项目中都是获取默认配置文件的属性值——即application.yml或者application.properties配置文件的属性值的。 关于@ConfigurationProperties与@Value简单使用可以参考上一篇: SpringBoot总结(四)——@Value和@ConfigurationPrope

专注Java后端技术干货、项目源码总结分享,期待您的关注。 1179

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

SpringBoot -- 02 -- @ConfigurationProperties和@PropertySource注解的使用

在 SpringBoot 项目的开发过程中,我们通常会需要读取配置文件中的配置项,并将其封装到一个实体类中。说到读取配置项,我们第一个想到的会是 @Value 注解,但这仅适合用读取少量的配置项,一旦配置项过多,再使用 @Value 注解就会显的很麻烦了,这时候我们就可以使用 @ConfigurationProperties 注解了,它会自动将配置文件中的同名配置项映射为实体类中对应的属性。此外...

半日橙 721

SpringBoot注解 @Configuration @PropertySource @ConfigurationProperties

@Configuration @PropertySource @ConfigurationProperties 三者经常搭配使用在 SpringBoot 项目中的 Java 配置类上。

风香枫 484

SpringBoot的@ConfigurationProperties,@Value,@PropertySource,@ImportResource注解使用

- @ConfigurationProperties - @Value - @PropertySource - @ImportResource @ConfigurationProperties 该注解是加载配置文件中的参数,里面有个属性Prefix是前缀,只要标注该注解的类里对应的成员变量与配置文件中参数与之对应即可获取参数,注意: 这里必须要有Setter方法,否则无法获取参数变量会报错哦,还有该类必须是在Spring容器注册的类,标注@Component。 server: port: 8086

weixin_44012722的博客 299

springboot (3.4)@PropertySource 和 @ImportResource 注解

一.@PropertySource & @ImportResource & @Bean @PropertySource:加载指定的配置文件。 将配置文件中配置的每一个属性的值,映射到这个组件中。 @ConfigurationProperties:告诉 SpringBoot 将本类中的所有属性和配置文件中相关的配置进行绑定。 prefix = "person":配置文件中哪...

潘子的博客 284

Spring Boot_利用@PropertySource注解将指定的properties注入到javabean中

我们之前用到的@Component、@ConfigurationProperties他会默认到全局配置文件application.properties中获取,如果想要到指定的配置文件中获取可以通过@PropertySource注解进行配置。 组件 package com.itrucheng.springboot.bean; import org.springframework.boot.conte...

qq_42986414的博客 482

SpringBoot配置(@PropertySource @ImportResource @Bean 注解)

总目录:SpringBoot学习教程   (一):@PropertySource的意思是加载指定的配置文件 上一节中@ConfigurationProperties这个注解是去默认加载全局配置文件allication.properties中的属性。 但是,我们如果想加载其他配置文件中的属性呢?就需要...

weixin_44079558的博客 205

Springboot @PropertySource和@ImportResource注解(七)

@PropertySource 一,什么要使用@PropertySource 所有的配置都是写在appliaction.properties或application.yml文件里,如果不想写在这两个文件里面可以使用注解@PropertySource解决。实现步骤: 1,新建自定义的配置文件 2,向配置文件中写内容 spring.myuser.uid=1 spring...

我爱吃红薯的博客 382
上一篇: SpringBoot - @EnableAutoConfiguration注解使用详解
下一篇: SpringBoot - @ImportResource注解使用详解
cloneme01
博客等级 码龄20年 2万+粉丝 248原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cloneme01

谢谢您的支持与鼓励!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值