SpringBoot获取配置文件属性值

SpringBoot 读取配置文件的 5 种方法! 在 Spring Boot 中读取配置文件有以下 5 种方法:使用 @Value 读取配置文件。使用 @ConfigurationProperties 读取配置文件。使用 @PropertySource 读取配置文件。使用 Environment 读取配置文件。使用原生方式读取配置文件。...... 阅读详情

SpringBoot学习记录

最近重新开始梳理一下SpringBoot的基础一些记录,有什么问题大家可以提出问题共同参考一下。

1:通过原始Spring的方式获取

  1. 首先通过以下代码可以看出,SpringBoot的启动主要@SpringBootApplication这个注解与SpringApplication这个类调用的run方法
#我的SpringBoot配置,简单测试
logging.level.root=info
@SpringBootApplication
public class Sb01HelloworldApplication{
 	public static void main(String[] args) {
		 SpringApplication.run(Sb01HelloworldApplication.class, args);
	}
}

2.我们进入源码找到run这个方法发现他的返回值是 ConfigurableApplicationContext而这个类又继承了ApplicationContext,这里大家就应该理解其实SpirngBoot与Spring的配置无二,仔细看下面代码

	/**
	*	进入run方法查看到的源码
	*/
	...
	public static ConfigurableApplicationContext run(Class<?> primarySource, String... args) {
		return run(new Class<?>[] { primarySource }, args);
	}
	....
	/**
	*	进入ConfigurableApplicationContext类的源码
	*/
public interface ConfigurableApplicationContext extends ApplicationContext, Lifecycle, Closeable {
	......
}

3.因此我们可以直接获取 run 方法的返回值,ConfigurableApplicationContext
通过这个类的对象也就可以直接通过 context.getEnvironment().getProperty(key)
的方法获取配置文件中的属性值

public static void main(String[] args) {
        ConfigurableApplicationContext run = SpringApplication.run(Sb01HelloworldApplication.class, args);
        String property = run.getEnvironment().getProperty("logging.level.root");
        System.out.println("logging.level.root === " + property);
        run.close();
    }

2:通过配置Spirng配置类使用@AutoWride注入Environment获取属性值

  1. 既然说都是Spring的方式启动,则Environment也是初始化在Ioc容器中的,则可以通过注入的方式使得可以获取对象值,因此编写一个配置类,同时让Spring注入Environment,通过Environment的getProperty(key)获取属性值
@Component
public class ThisConfig {
    @Autowired
    private Environment environment;

    public String getLoggingLeavel(){
        return environment.getProperty("logging.level.root");
    }
}

2.则可以获取该bean去打印

 public static void main(String[] args) {

        ConfigurableApplicationContext run = 
        String property = run.getBean(ThisConfig.class).getLoggingLeavel();
        System.out.println("logging.level.root === " + property);
        run.close();
    }

3:通过@Value("${key}")实现获取属性值

既然是直接获取Spring配置文件中的一些属性值,则可以之直接通过@Value("${key}"),如下列代码

@Component
public class ThisConfig {

    @Value("${logging.level.root}")
    private String loggingLevel;

    public String getLoggingLeavel(){
        return this.loggingLevel;
    }
}

这样就可以通过 getLoggingLeavel 获取配置中的属性值,直接打印就可以了

    public static void main(String[] args) {
        ConfigurableApplicationContext run = SpringApplication.run(Sb01HelloworldApplication.class, args);
        String property3 = run.getBean(ThisConfig.class).getLoggingLeavel3();
        System.out.println("logging.level.root === " + property);
        run.close();
    }

当然,如果需要编写配置类,一般都是用第三种方式,这种方式是日常使用的,其他两种作为了解就可以

4:设置另外的配置文件,如db.properties,获取其中属性值则可以通过 @ConfigurationProperties

  1. 在Spring很早就移除 @ConfigurationProperties 其中的 localtions 这个属性,之前 localtions 可以直接指定扫描文件,Spring觉得一个类绑定一个文件不妥,所以移除了,这里就不说明这种方法了,只是提及一下。
  2. 创建db.properties,其中属性我就简单写了一条,方便显示
#db.properties
db.username = root

3.创建db的配置类
使用了 @ConfigurationProperties设置之后会获取该配置文件中以 db 开头会通过get,set,注入该类的属性,则实现自动配置,并且获取了属性

@Component
@ConfigurationProperties(prefix = "db")
@PropertySource("classpath:db.properties")
public class DBConfig {
	private String username;

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    @Override
    public String toString() {
        return "DBConfig{" +
            "username='" + username + '\'' +
            '}';
    }
}

4.获取bean打印即可

@SpringBootApplication
public class Sb01HelloworldApplication {
    public static void main(String[] args) {
        ConfigurableApplicationContext run = SpringApplication.run(Sb01HelloworldApplication.class, args);
        DBConfig bean = run.getBean(DBConfig.class);
        System.out.println(bean);
    }
}

结尾

文章到这就结束了,对于SpringBoot获取配置文件的属性值就说这些,当然其中的很多推导对于很多人来说可能不是特别顺理成章,有点牵强吧,学习仍然尚浅,以后会继续补充,有什么问题可以共同探讨。

Spring Boot 如何正确读取配置文件属性 前言 项目中经常会经常读取配置文件中的属性的值,Spring Boot提供了很多注解读取配置文件属性,那么如何正确使用呢? @Value @Value用来读取application.yml配置文件中属性的值。 示例代码 application.yml文件中属性 //定义属性 fileName : test isFile : false filePath : c://test @value读取application.yml属性值 @Configuration public clas 阅读详情

相关推荐

SpringBoot读取配置文件的三种方法

分析SpringBoot分别提供3中方式读取项目的application.properties配置文件的内容。这个方式分别为:Environment类、@Value注解以及@ConfigurationProperties注解。Environment是用来读取应用程序运行时的环境变量的类,可以通过key-value的方式读取application.properties和系统环境变量,命令行输入参数,系统属性等,具体如下:在application.yml文件定义如下: 定义读取的类如下: 在浏览器访问http:

目标检测专栏持续更新中,改进YOLO系列通用,适用v5、v7、v8、所有博客均是团队原创博客,所有文章禁止转载,违者必究。 1万+

springboot中获取配置文件中属性值的几种方式

Configurationproperties(prefix=”xxx”)prefix的作用是区分同名配置,如果不指定,那么会去配置文件中寻找与该类的属性名一致的配置文件。在核心配置文件applicatin.properties中激活生产环境,这里的product对应文件名application-produc的横杠后面的produc。当指定prefix之后,就不需要再在属性上面搭配@value注解使用,因为当指定前缀school之后,属性就会自动注入。prefix怎么使用呢?

baomingshu的博客 5410

SpringBoot获取YAML配置文件中的属性值(二):使用Environment环境组件读取值

Spring Boot 提供的 Environment 接口提供了一种机制,使得应用程序能够轻松地获取和操作配置属性。这些属性通常来源于不同的渠道,如命令行参数、系统环境变量、配置文件(如:application.properties 或 application.yml )等,这些配置文件可以放置在不同的位置,如项目的classpath、文件系统或外部存储等。Environment 允许为不同的环境配置不同的 Profile,例如:dev(开发)、test(测试)、prod(生产)等。

pan_junbiao的博客 540

Spring Boot读取配置文件的六种方案

Environment 是 springboot 核心的环境配置接口,它提供了简单的方法来访问应用程序属性,包括系统属性、操作系统环境变量、命令行参数、和应用程序配置文件中定义的属性等等。如果上边的几种读取配置的方式你都不喜欢,那么还可以自定义造轮子。我们直接注入PropertySources获取所有属性的配置队列,你是想用注解实现还是其他什么方式,就可以为所欲为了。

xiangzhihong8的专栏 3891

SpringBoot获取YAML配置文件中的属性值(一):使用@Value注解、@ConfigurationProperties注解

SpringBoot支持使用Properties和YAML两种配置方式。两者功能类似,都能完成SpringBoot的配置,但是Properties的优先级要高于YAML(YAML语言的文件以“.yml”为后缀)。 使用application.yml文件配置SpringBoot项目。主要对SpringBoot项目的端口号、超时时间、参数值等进行配置。YAML文件的好处是——它采用的是树形结构,一目了然。如下:

pan_junbiao的博客 2万+

PaddleOCR GPU部署:从环境配置到避坑实战指南

本文详细介绍了PaddleOCR GPU部署的全过程,从环境配置到避坑实战指南。通过分析常见的部署失败原因,提供硬件兼容性自查、软件环境精配方案以及路径配置的解决方案,帮助用户高效完成GPU加速的OCR任务部署,避免90%的常见错误。

weixin_30839881的博客 418

获取SpringBoot配置文件属性值方式

主要介绍了获取SpringBoot配置文件属性值的三种方式: 注解方式、Properties的工具类获取方式、JDK自带ResourceBundle类读取配置文件

xiaochen的博客 453

COMSOL实战:薄膜声学超材料模态分析全流程解析(含预应力设置技巧)

本文详细解析了使用COMSOL进行薄膜声学超材料模态分析的全流程,包括预应力设置技巧和共振频率优化方法。通过实际案例和参数设置指南,帮助工程师掌握从几何建模到结果解读的关键步骤,特别适合声学超材料和共振薄膜结构的设计与优化。

ujm5678901的博客 292

SpringBoot 从配置文件中获取属性值初始化静态变量

文章目录SpringBoot 从配置文件中获取属性值初始化静态变量1、Configurations配置类2、my.properties配置文件 SpringBoot 从配置文件中获取属性值初始化静态变量 1、Configurations配置类 import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; @Component public class C

hlli86的博客 1176

无人驾驶--车道线检测实战(附源码)

做完项目后写了个技术小结,供自己回顾也为他人学习提供参考。 另外准备建一个无人驾驶方面的微信交流群,有兴趣的朋友可以加我微信:wxl609278502 请注明: 姓名-单位/学校 项目描述: 使用opencv实时处理车载摄像机采集的道路图像,检测当前的车道,并计算出当前车辆偏离车道中心的距离,计算当前车道的曲率。 项目代码GitHub地址:https://g...

weixin_38746685的博客 6万+

10. 重磅!Spring AI 1.0 正式发布,Java 开发者的 AI神器!

重磅!Spring AI 1.0 正式发布,Java 开发者的 AI神器! 全网最详细的Spring AI 文章,每章都会提供代码入口,让你更容易得入门和理解Spring AI 相关概念,直接节约你百分之六十的学习成本时间。

gorgor在码农 1066

Springboot从yml或properties配置文件中获取属性值

配置文件: server.port=8081 person.name=孙超 person.age=22 person.birth=2022/12/12 person.map.k1=k1 person.list=a,bc,c person.dog.name=xiaogou person.dog.age=2 @Value 获取配置文件的值 package com.sunchao.demo.bean; import org.springframework.beans.factory.ann..

qq_37138380的博客 1544

109. 使用 SAP UI5 FileUploader 控件上传本地文件

我们可以使用SAPUI5提供的控件,将本地文件上传到远端服务器进行存储。远端服务器负责接收上传的文件的逻辑,可以采取Java,Node.js或者ABAP等任意的编程语言实现。本地文件上传也是最终用户同文件服务器交互的重要手段之一,因此文件上传这个主题,本教程会通过若干篇文章连续进行介绍。笔者还另外实现了一个不通过SAPUI5FileUploader控件,而是直接用HTML原生的input。先看本步骤完成后实现的场景。本步骤完整的源代码位置。进入目录109,运行命令行。...

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2236

Spring Boot 获取配置文件application.properties的属性值

1、添加类注解:@Configuration,(org.springframework.context.annotation.Configuration) 2、通过@Autowired自动装载接口ApplicationContext,(org.springframework.context.ApplicationContext) 3、通过ApplicationContext获取Environment,(Environment environment = applicationContext.getEnv

laozhou243的专栏 671

XRoboToolkit —— 基于 PICO 4 Ultra 的机器人遥操作方案(一)

视觉-语言-动作模型(Vision-Language-Action models)的快速发展催生了对大规模、高质量机器人演示数据集的迫切需求。尽管遥操作是数据采集的主要方法,但现有方法存在可扩展性有限、设置流程复杂以及数据质量不佳等问题。本文提出XRoboToolkit,这是一个基于OpenXR标准的跨平台扩展现实(XR)机器人遥操作框架。该系统具备低延迟立体视觉反馈、基于优化的逆运动学算法,并支持多种跟踪模态,包括头部、控制器、手部及辅助运动追踪器。

2506_90492529的博客 3308

一文吃透 Tools for Applying SAP Notes:从 SNOTE、TCI 到 Solution Manager 与 SAP Cloud ALM

本文系统梳理了SAP技术与运维团队应用SAP Notes的高效工具与方法,涵盖On-Premise与云环境。文章首先阐述了精研SAP Notes工具的必要性,指出其是实施错误修复、法务变更和性能改进的关键载体。随后详细介绍了SNOTE、TCI、Solution Manager、Cloud ALM和Maintenance Planner等核心工具的定位与适用场景,并通过采购异常案例展示了标准更正流程。针对复杂修复场景,文章提出了TCI的批量处理方案,并强调将Note实施纳入变更治理流程的重要性。最后总结了三种

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 354

springboot中static静态工具方法获取配置文件属性值

springBoot中static静态工具方法获取配置文件属性值 参考网址: https://mp.weixin.qq.com/s/iOWdDnPt5aQaHR9gRjwtAA http://www.shaoming.club/archives/springboot%E5%90%AF%E5%8A%A8%E6%97%B6%E8%AE%A9%E6%96%B9%E6%B3%95%E8%87%AA%E5%8A%A8%E6%89%A7%E8%A1%8C%E7%9A%84%E5%87%A0%E7%A7%8D%E5%A

java技术博客 5636

从后端角度浅谈抗辐射设计----三模冗余(TMR)

三模冗余设计(TMR),是最常用的一种容错技术,三个模块采取相同的操作,以多数相同的输出作为表决系统的正确输出,即3取2,因为三个模块是相互独立的,而其中两个模块同时出错的概率是极小的,因此便可保证系统输出的可信度。然而这个设计也会存在面积浪费,功耗的增加,而且由于是冗余的设计,在后续进行综合或者pr的时候会被工具优化,因此需要对模块进行don’t touch设置;通过增值表得到,逻辑关系表达式为:Q=(Q1&Q2)|(Q1&Q3)|(Q2&Q3),通过工艺库的stdcell进行搭建,得到如下电路。

芯冰乐 327

SpringBoot通过@Value获取application.yml配置文件的属性值

application.yml实例: spring: redis: database: 0 host: 127.0.0.1 获取方法: /** * @Auther:WangZiBin * @Description: * @Modified By: */ @Configuration public class JedisConfig{ ...

dying 搁浅 4万+

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

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

精雕软件(JDpaint) 5.5 绿色版

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

Spring Boot获取配置文件application.yml的属性值

在 Spring Boot 项目中,配置文件格式有两种,一个是 properties ,另一个是 yml 。虽然 properties 文件比较常见,但是相对于 properties 而言,yml 文件的配置项更加简洁明了,可读性很强,不仅如此,yml 文件还有另外一个重要的特点,就是 yml 中的数据是有序的,properties文件中的数据是无序的。我们都知道SpringBoot工程默认的配置...

奋斗的IT青年 7143

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

SpringBoot获取运行环境 获取静态配置 SpringBoot获取配置文件和属性值 springboot获取配置文件

SpringBoot获取运行环境 获取静态配置 SpringBoot获取配置文件和属性值 springboot获取配置文件 例如 获取当前 系统端口号的配置文件值。接口需要 获取Bean方式使用。

半只 1120

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

springboot获取application.yml配置文件属性值

1、application.yml配置文件内容如下: sms: smsIp: shmtn.b2m.cn 2、示例:获取 sms下的 smsIp属性值: 在controller中: @Value("${sms.smsIp}") private String smsIp;

qq_41582642的博客 1万+

springboot获取配置文件属性值

@Value和@ConfigurationProperties获取属性值

A乐神的博客 506

Spring Boot 获取 application.yml 配置文件属性值 Plus 版

Spring Boot 获取 application.yml 配置文件属性值 Plus 版 多年前我曾写过这样一篇文章 SpringBoot通过@Value获取application.yml配置文件的属性值 没想到已经有 3 w 阅读了,这里做个升级,给大家提供一种更高级的配置方法 class 类如下 import lombok.Data; import org.springframework.beans.factory.annotation.Value; import org.springframewo

dying 搁浅 1051

获取springBoot配置文件的属性值

application.properties 的属性值可以直接通过注解获取apiService.url=http://192.168.50.158:2911@Value("${apiService.url}") private String apiServiceUrl;application.yml 的属性值则麻烦一些,通过创建一个Bean来接收apiService: url: http:...

qq_34638435的博客 365
下一篇: SpringBoot使用Gateway聚合Springdoc,Knife4j
陈年_风褛
博客等级 码龄8年 7粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值