在springboot中配置文件注入以及自定义配置文件

推荐国内可使用的chatGPT的工具 是基于ChatGPT 3.5和ChatGPT 4开发的chatGPT应用程序版,这个应用可以直接使用而不需要魔法,如果我们有自己的APT KEY的话可以一直使用,但是如果没有的话,我们只能使用ChatGPT 3.5 版本的,次数也是有所限制,应该是20次每天,这也足够我们的使用了,响应的速度也是非常的快。 阅读详情

在springboot中配置文件注入以及自定义配置文件

配置文件注入说明:
– ${my.name}可以在配置文件中引用前面配置过的属性(优先级前面配置过的这里都能用)。
– ${ my.name : 默认值 }来指定找不到属性时的默认值

使用场景一:

有时候在项目中需要使用一些自定义的键值对属性,而且又不想放入springboot的application.properties的配置属性的文件中.那应该如何引入自定的.properties文件中的属性呢?使用注解@PropertySource可以引入多配置文件

测试使用

在resources下创建data文件夹,在其下创建两个配置文件my.properties和your.properties
在这里插入图片描述

my.properties内容
my.name=myName
my.age=1
your.properties内容
your.name=yourName
your.age=2
# 这里不用sex属性,在@Value中使用默认值试试
使用@PropertySource修饰一个实体类
@Component
//value属性是一个数组,可以引入多个配置文件
@PropertySource(value = {"classpath:data/my.properties","classpath:data/your.properties"})
@Data
public class MyProp {

    @Value("${my.name:myName的默认值}")
    private String myName;
    
    @Value("${my.age:100}")
    private Integer myAge;
    
    @Value("${my.address:myAddress默认值}")
    private String myAddress;


    @Value("${your.name:yourName的默认值}")
    private String yourName;
    
    @Value("${your.age:200}")
    private Integer yourAge;
    
    @Value("${your.sex:yourSex的默认值}")
    private String yourSex;
}
测试使用的Controller
@RestController
public class TestController {
    @Autowired
    private MyProp myProp;

    @RequestMapping("/test01")
    public String test03() {
        return myProp.toString();
    }
}
测试结果

可以看到:*.properties中有值的就覆盖了默认值,没有值的属性就使用了默认值.
在这里插入图片描述

使用场景二

需要在配置文件中配置date/list/map/domain等相关的数据,使用@ConfigurationProperties可以满足要求
在这里插入图片描述

测试使用
在application.properties中添加属性
student.first-name=${my.name}
student.age=${my.age:100}
# 测试时间 这是默认的格式
student.birth=2019/11/26
# 测试Boolean
student.flag=false
# 测试list         属性名=元素,元素
student.prolist=mybatis,spring,shiro
# 测试map       属性名.key=value
student.promap.k1=value1
student.promap.k2=value2
# 测试实体类        实体类.属性名=值
student.book.bookName=Le Petit Prince
student.book.bookPrice=34
其中用到的Book类
@Data
public class Book {
    private String bookName;
    private int bookPrice;
}
创建一个config实体类对象来接收属性
@Data
@Component
//可以取出配置文件中的属性,prefix是属性的前缀
@ConfigurationProperties(prefix = "student")
public class MyConfig {
	//存在-的可以使用驼峰命名
    private String firstName;
    private int age;
    private Date birth;
    private boolean flag;
    //名称保持一致
    private List<Object> prolist;
    private Map<String, Object> promap;
    private Book book;
}
测试使用的Controller
@RestController
public class ConfigController {
    @Autowired
    private MyConfig myConfig;

    @RequestMapping("/test02")
    public String test02() {
        return myConfig.toString();
    }
}
测试的结果

属性都取到了,默认值也进行了覆盖
在这里插入图片描述

实战经验:Sensor Bringup中那些坑我都帮你踩过了(避坑指南) 本文是一份详尽的Sensor Bringup实战避坑指南,总结了从I2C通信、MCLK时钟、电源管理到图像异常等关键环节的常见问题与排查方法。文章提供了系统化的调试工作流,强调先硬件后软件的排查原则,旨在帮助硬件工程师快速定位并解决Sensor启动过程中的难题,提升开发效率。 阅读详情

相关推荐

R语言安装包镜像报错?5分钟教你快速切换国内镜像源(含清华/阿里云配置)

本文详细介绍了R语言安装包镜像报错的解决方案,包括如何快速切换国内镜像源(如清华、阿里云等),解决'无法读写貯藏處索引'等常见问题。通过图形界面和命令行两种方式,帮助用户高效配置镜像源,提升R语言包安装速度与稳定性。

weixin_29053073的博客 418

Springboot配置XSS攻击&Sql注入(完整版)

Springboot配置防XSS攻击&Sql注入(含Post请求、跳过文件上传、跳过自定义路径)

Zhangmaoyang的博客 8090

深入解析BlueZ5与D-Bus:Linux蓝牙开发实战指南

本文深入解析BlueZ5与D-Bus在Linux蓝牙开发中的核心应用,提供从环境搭建到实战开发的完整指南。通过详细代码示例和调试技巧,帮助开发者掌握蓝牙协议栈与D-Bus接口的交互方法,实现高效蓝牙设备管理与GATT服务开发。

weixin_28292761的博客 449

SpringBoot之配置文件属性值注入

配置文件属性值注入 一、属性值分类 1、系统默认属性 如果配置的是springboot已有属性,那么springboot在全局扫描时,能够对其自动扫描并识别,,同时对原来的默认值进行覆盖。 2、自定义属性 如果是自己自定义的属性值,springboot是不识别的,如果想使得这些属性生效,那么要对这些属性进行注入。 二、属性值注入的注解 1、@Component注解 生成当前类的实例对象,存到IOC容器中。 2、@ConfigurationProperties(prefix = “xxx”)注解 (1)批量注

熊凯瑞的博客 1971

SAP ABAP ALV表格实战:5分钟搞定单元格下拉框配置(附完整代码)

本文详细介绍了在SAP ABAP开发中如何快速配置ALV表格的单元格下拉框功能,通过5分钟实战教程帮助开发者掌握关键步骤。文章包含完整的ABAP代码示例,涵盖下拉值定义、字段目录配置及ALV控件绑定等核心操作,特别适合需要实现财务系统费用类型选择或采购系统物料分类等场景的开发者参考。

weixin_28331555的博客 108

Abaqus仿真进阶:如何准确计算气动软体机器人的抓取力(Blocking Force分析)

本文详细介绍了使用Abaqus进行气动软体机器人抓取力(Blocking Force)分析的进阶技巧。从材料模型验证、刚性目标物选择到接触对建立和充气加载优化,提供了一套完整的有限元仿真解决方案,帮助工程师准确预测软体执行器的抓取性能。

weixin_42528902的博客 401

SpringBoot如何自定义自己的条件注解与自动配置

Spring Boot的核心功能就是为整合第三方框架提供自动配置,而本文则带着大家实现了自己的自动配置和Starter,一旦真正掌握了本文的内容,就会对Spring Boot产生“一览众山小”的感觉。

Learning_xzj的博客 7220

国家基因组科学数据中心(NGDC)---组学原始数据如何上传GSA

在发表文章之前我们需要将测序的原始数据上传到一个公共库,并在文中提供accession number,实现数据的公开共享,这是国际惯例。以前我们上传数据时只能上传到美国国立生物技术信息中心(NCBI)、欧洲生物信息学研究所(EBI)、日本核酸数据库(DDBJ),现在中国科学院北京基因组研究所(国家生物信息中心)国家基因组科学数据中心 (CNCB-NGDC)—中国的 "NCBI" 已经建立并日渐完善。组学原始数据归档库(GSA)是组学原始数据汇交、存储、管理与共享系统,是国内首个被国际期刊认可的组学数据发布平

sisichen 1万+

SpringBoot配置文件属性值的注入,两个注解@ConfigurationProperties和@Value的区别

SpringBoot配置文件属性值的注入,两个注解@ConfigurationProperties和@Value的区别 @ConfigurationProperties @ConfigurationProperties注解用来快速、方便地将配置文件中的自定义属性值批量注入到某个Bean对象的多个对应属性中。并且是以set方式注入(所以需要set方法,并且set方法命名要规范) @Component //将配置文件中所有以person开头的配置信息注入当前类中 //前提1:必须保证配置文件中pers

LI_DAXIAN的博客 1209

【MATLAB代码】基于水声通信(ACOMMS)下的到达时间差(TDOA)定位的AUV自主导航例程,附完整代码

水下AUV导航系统仿真研究 本研究基于到达时间差(TDOA)技术实现了水下自主航行器(AUV)的三维导航仿真系统。系统采用四个声学信标作为定位基准,通过TDOA测量数据迭代求解AUV位置。仿真结果表明: 导航性能:系统能够有效跟踪AUV从起点(30,30,-20)到目标点(70,70,-20)的航行轨迹,定位误差保持在合理范围内。 误差分析:定位误差变化曲线显示系统具有稳定的定位精度,平均误差为0.5米左右。 技术特点:采用两步最小二乘迭代算法求解非线性TDOA方程,提高了定位精度和计算效率。 该仿真系统为

985工科博士毕业,专攻定位、导航和滤波等算法研究。从业10年,主要使用MATLAB 320

PCL K4PCS算法实现点云粗配准【2026最新版】

K4PCS算法实现点云粗配准。博客长期更新,本文最近一次更新时间为:2026年5月4日。

点云侠的博客 42万+

【Spring】实现自定义配置的注入和动态刷新

在Spring中实现自定义配置的注入和动态刷新

hui_zai_的博客 1216

R语言机器学习:XGBoost线性回归模型的SHAP值

SHAP(SHapley Additive exPlanations)值是一种基于博弈论Shapley值的机器学习模型解释方法,能够解释任何模型的预测结果。其主要用途包括:1)提高模型的可解释性,帮助非技术用户理解模型预测;2)识别对模型预测最重要的特征,辅助特征选择;3)调试模型,发现预测中的异常;4)评估模型公平性,避免偏见。SHAP值的计算方法包括初始化、迭代计算、归一化和解释,常用工具如Python的shap库支持多种计算方式(如TreeSHAP、KernelSHAP等)。本文还提供了基于R语言计算

专注生信领域 3441

教会你如何将自定义的配置文件注入到SpringBoot

在实际的项目开发过程中,我们经常需要将某些变量从代码里面抽离出来,放在配置文件里面,以便更加统一、灵活的管理服务配置信息。比如,数据库、eureka、zookeeper、redis、mq、kafka 等服务组件的连接参数配置,还有我们自定义的项目参数配置变量。当然,实际上根据当前的业务需求,我们往往会自定义参数,然后注入到代码里面去,以便灵活使用!SpringBoot 项目在启用时,首先会默认加载bootstrap.properties或者bootstrap.yml这两个配置文件(这两个优先级最高);

Candyz7的博客 1378

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

WINCC7.3破解文件

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

自定义的配置文件,如何注入到SpringBoot?

在实际的项目开发过程中,我们经常需要将某些变量从代码里面抽离出来,放在配置文件里面,以便更加统一、灵活的管理服务配置信息。比如,数据库、eureka、zookeeper、redis、mq、kafka 等服务组件的连接参数配置,还有我们自定义的项目参数配置变量。当然,实际上根据当前的业务需求,我们往往会自定义参数,然后注入到代码里面去,以便灵活使用!SpringBoot 项目在启用时,首先会默认加载bootstrap.properties或者bootstrap.yml这两个配置文件(这两个优先级最高);

Q54665642ljf的博客 170

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

SpringBoot自定义配置注入的方式:自定义配置文件注入,从mysql读取配置进行注入

自定义配置的注入方式,可以读取自定义配置文件,也可以从mysql中读取配置进行注入;本文提供了两种注入方式,配置来源可以自己扩展

weixin_44032384的博客 3119

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

SpringBoot实践五 Spring Boot核心配置与注解(全局配置/配置文件属性值的注入/自定义配置/多环境配置/随机值设置以及参数间引用)

文章目录一.简介全局配置1.全局配置分类1)application.propreties配置文件2)application.yaml配置文件二.配置文件属性值的注入方法方法一:使用@ConfigurationProperties注入属性方法二:使用@Value注入属性,实现如下:三.Spring Boot自定义配置1 使用@PropertySource加载配置文件2 使用@ImportResource加载XML配置文件3 使用@Configuration编写自定义配置类四 .Profile多环境配置1 使用

xtho62的博客 3296

SpringBoot(5)--配置文件之自定义属性注入

主要内容 配置文件的自定义属性的值注入问题 1 配置文件值注入 首先定义两个实体类 Dog.java package com.wuk.helloworld.entity; public class Dog { private String name; private Integer age; public synchronized String g...

一个人的江湖 1159

Springboot(六)自定义配置文件属性值注入两种方法

前言:     在配置文件中自己定义的值,怎么注入到程序中,比如:mq队列的名称,缓存的key,文件的路径等。   代码: 首先建一个springboot工程 pom.xml &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:...

徐海兴的专栏 1万+

SpringBoot配置文件及自定义配置文件

一,核心配置文件格式 1,.properties配置文件(SpringBoot默认配置文件格式) #端口号 server.port=8080 #注册中心地址 spring.cloud.nacos.server-addr=127.0.0.1:8848 #激活生产环境配置文件 spring.profiles.active=product 2,.yml配置文件 yml 是一种 yaml 格式的配置文件,主要采用一定的空格、换行等格式排版进行配置,值与前面的冒号配置项必须要有一个空格, yml 后缀也可以使用 y

weixin_45952781的博客 1677

Spring Boot 通过配置文件注入自定义属性值时需要注意 yes 和 no

Spring Boot 通过配置文件注入自定义属性值时需要注意 yes 和 no 今天尝试将图片验证码的配置参数从 Java 代码中提取到配置文件中。 其中,有这么一个属性 private String border;,其接受 yes 或 no。 于是,我通过 application.yml 配置文件设置其属性值: kaptcha: border: yes 然后,在测试类中尝试获取 bord...

qq_29761395的博客 608
上一篇: 与线程相关的知识点
下一篇: spring中的applicationEvent和applicationListener使用
黑白格tt
博客等级 码龄8年 35粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值