静态方法调用yml配置文件中的值

2023-05-16

目录

  • 一. 概念讲解
  • 二. 正确方式
    • 正确方法一
    • 正确方法二
  • 可能遇到的问题

一. 概念讲解

获取配置文件的注解方式有@value,@ConfigurationProperties,这两种方式遇到下列情况都会失效
① 属性前加上static
在这里插入图片描述

② 通过new 对象的方式调用属性
在这里插入图片描述

new Sm4Properties().getKey()  // 这种方式调用

二. 正确方式

正确方法一

①给属性赋值

@Data
@Component
@ConfigurationProperties(prefix = "sm4")
public class Sm4Properties {
    private String key;
}
# application.yml 文件
sm4:
  key: 2asjfo123jdfflk4

② 调用
通过实现 InitializingBean 接口,可以重写其带有的方法afterPropertiesSet(),这个方法作用是实现 InitializingBean 接口的类的属性赋值完成后,在进入到此方法中,当进入到此方法中,就可以获取到此key值,并将其赋值给此类的一个静态变量,这样就可以使用此静态变量了,也就相当于使用了yml配置文件中的值。

@Component
public final class JSONPut implements InitializingBean {

    @Autowired
    private Sm4Properties sm4Properties;

    private static String key;

    @Override
    public void afterPropertiesSet() throws Exception {
        key = sm4Properties.getKey();
    }

正确方法二

给静态属性设置set方法,当然方法上不要加static

    private static String url;

    public static String getVoiceToTextUrl() {
        return url;
    }

    @Value("${test.iflytekco.url:''}")
    public void setVoiceToTextUrl(String url) {
        (类名)IflytekVoice.url= url;
    }

可能遇到的问题

问题一:@Value注入不进去
原因: @Value所在位置不再springboot启动类所在文件夹,或其子文件夹下面,也就是没有被注解 @ComponentScan 注解扫描到,需要在启动类上添加上注解扫描, 注意:springboot默认扫描路径是启动类所在文件夹及其子文件夹,通过@ComponentScan注解实现,如果将此注解添加到启动类上默认的扫描路径就会失效,需要手动添加上,例 @ComponentScan(basePackages = {"test.ulane.ulink.*","baidu.video"})

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

静态方法调用yml配置文件中的值 的相关文章

  • spring boot中.yml配置日志文件格式正确运行出错(logging level)

    yml文件配置logging出错 格式如下 logging span class token operator span level span class token operator span com span class token p
  • yml配置文件简单语法及小坑

    yml文件使用方法 1 语法 K 空格 V 表示一对键值对 xff0c 以空格缩进来控制层级关系 xff0c 只要左对齐的一列数据 xff0c 都是一个层级的 属性和值是大小写敏感 2 写法 普通值 字符串默认不加单引号或者双引号 xff1
  • SpringBoot系列14-加载yml,properties配置文件信息

    SpringBoot系列14 加载yml properties配置文件信息 原文链接 xff1a https www lskyf com post 73 https www lskyf com post 73 yml前置知识yml语法 xf
  • SpringBoot解析yml/yaml/properties配置文件的四种方式汇总

    目录 一 配置文件注入方式一 64 Value 二 配置文件注入方式二 64 ConfigurationProperties 三 自定义解析类 xff0c 直接暴力读取yml配置文件 四 Spring配置文件的解析类Environment获
  • yml文件

    YAML文件简介 我们可能在spring配置文件里见到过 yml格式的东东 xff0c 配置文件不都是 propertie或者 xml文件吗 xff1f yml是什么鬼 xff0c 今天我带你们来一探究竟 YAML xff08 Yet An
  • springboot项目启动指定项目外部yml配置文件

    spring boot的经典项目配置是application yml xff0c 在项目打包部署运行的时候 xff0c 这个文件也会一同打进包里 xff0c 随之启动 这就带来了一个问题 xff1a 如果部署的服务器发生了变动 xff0c
  • IDEA:yml不显示小绿叶图标

    IDEA xff1a yml不显示小绿叶图标 之前idea能识别yml文件 xff0c 后面再学习微服务时突然识别不了yml xff0c yml文件不显示小绿叶图标 xff0c yml文件中相关的提示功能也失效 xff0c 但以 yaml为
  • Ubuntu 配置项目环境之yml

    问题描述 当你获得了一个别人写的项目时 xff0c 有时候里面会有包含环境描述的environment yml文件 博主刚开始并不会使用 xff0c 要么不用 xff0c 要么手工一点点粘贴过来 后来从一个项目的安装介绍文件里看到了使用它的
  • snakeyaml自定义pojo写入yml文件时属性字段排序问题

    snakeyaml采用LinkedHashMap保存对象 xff0c 最后写入yml文件的时候 xff0c 可以按照存入的顺序写入yml xff0c 如果采用自定义pojo xff0c 虽然可以写入yml xff0c 但是属性默认是按照字母
  • docker-compose.yml传入环境变量参数进容器,springboot使用。

    参考 xff1a https docs docker com compose compose file compose file v3 compose file v34 and under https docs docker com com
  • gitlab-ci.yml 项目实战

    gitlab ci yml 文件内容 image localhost 5000 wondershare ws builder latest Cache modules in between jobs cache key npm cache
  • springboot读取yml文件中的list列表、数组、map集合和对象

    前言 springboot配置文件yml类型简单的风格 xff0c 十分受大家的欢迎 xff0c 支持字符string类型 xff0c 支持列表list类型 xff0c 支持集合map类型 xff0c 支持数组array类型 xff0c 支
  • springboot项目中的bootstrap.yml配置不生效(没有自动提示)

    文章目录 问题原因及解决原因1 xff1a 原因2 xff1a 问题 xff08 1 xff09 新创建一个 springboot项目 xff0c 添加了 bootstrap yml 文件 xff0c 发现文件并没有如预期变成绿色叶子 xf
  • kube-flannel.yml 保存

    apiVersion policy v1beta1 kind PodSecurityPolicy metadata name psp flannel unprivileged annotations seccomp security alp
  • springboot的yml文件中如何配置redis

    springboot的yml文件中如何配置redis xff1f 解决方法 xff1a application yml文件redis配置 xff1a http www yayihouse com yayishuwu chapter 1410
  • .yml文件语法

    项目里用到yml文件作为配置文件 xff0c 了解下其实挺简单 xff0c 它的基本语法如下 大小写敏感使用缩进表示层级关系缩进时不允许使用Tab键 xff0c 只允许使用空格 缩进的空格数目不重要 xff0c 只要相同层级的元素左侧对齐即
  • Prometheus.yml配置文件示例

    my global config global scrape interval 15s Set the scrape interval to every 15 seconds Default is every 1 minute evalua
  • SpringBoot系列---application.yml配置文件

    1 yml配置文件格式 span class token comment 对象 span span class token key atrule person span span class token punctuation span s
  • Springboot 配置类( @Configuration) 不能使用@Value注解从application.yml中加载值

    问题 在Springboot应用中 通过Spring context 版本4 3 6 的 Configuration注解配置类 使用 Value注解从application yml配置文件中加载属性 但是总是报找不到 设置缺省值 则获取到的
  • 简明YAML教程

    前言 yaml是一种用来描述配置的语言 其可读性和简洁性较json更胜一筹 用yml写成的配置文件 以 yml结尾 YAML的基本语法规则 大小写敏感 使用缩进表示层级关系 缩进是使用空格 不允许使用tab 缩进对空格数目不敏感 相同层级需

随机推荐

  • 【Keras】Keras构建LSTM网络时的输入维度问题——可参考博客梳理

    Keras构建LSTM网络时的输入维度问题 可参考博客梳理 keras中的LSTM层 keras layers LSTM units activation 61 39 tanh 39 recurrent activation 61 39 s
  • Windows 如何查看tensorflow、Keras、CUDA版本号

    Windows 如何查看tensorflow Keras CUDA xff0c cuDNN版本号 1 查看tensorflow和keras版本号 进入cmd xff0c 执行python xff0c 然后执行下方命令 xff1a xff08
  • 物联网工程填空题库押题版

    侧重软件工程 架构设计没有 面向对象和测试均没有 三 填空题 6 物联网工程设计与实施的最后一个阶段的文档是 xff08 xff09 验收报告 8 需求分析是用来获取 xff08 xff09 并对其进行归纳整理的工程 xff0c 该过程是物
  • Word公式居中、自动编号及交叉引用

    Word公式居中 自动编号及交叉引用 本文使用 制表符 43 样式分隔符 的方法将公式居中 此外 xff0c 使用 自动图文集 实现下次公式编辑时 xff0c 可以重复利用该公式的居中样式 1 打开WORD中的 显示 隐藏编辑标记 这样是为
  • Word的”交叉引用“和”插入题注“快捷键设置

    Word的 交叉引用 和 插入题注 快捷键设置 在MSWord2019中 xff0c 可以自定义设置快捷键 方法如下 xff1a 文件 选项 自定义功能区 键盘快捷方式 xff08 自定义 xff09 具体过程如图所示 最后 xff0c 按
  • 【DL】图像去噪中的patch size是什么(1篇文章链接和1段代码)

    图像去噪中的patch size是什么 xff08 1篇文章链接和1段代码 xff09 写在前面 xff0c 因为自己不做图像相关的研究 xff0c 所以具体内容也不敢妄加总结 xff0c 自己感觉貌似就是将一整张图分成一块一块的进行处理
  • MacBook Air M1 + MacTex + VS Code的LaTex教程

    MacBook Air M1 43 MacTex 43 VS Code的LaTex教程 参考博文 xff1a https zhuanlan zhihu com p 107393437 分为6步 xff1a 1 安装MacTex xff1a
  • Linux进程管理-ps

    Linux进程管理 ps ps 命令的基本格式如下 xff1a root 64 localhost ps aux 查看系统中所有的进程 xff0c 使用 BS 操作系统格式 root 64 localhost ps le 查看系统中所有的进
  • Linux进程管理-常见信号

    Linux进程管理 常见信号
  • Linux进程管理-kill

    Linux进程管理 kill kill 从字面来看 xff0c 就是用来杀死进程的命令 xff0c 但事实上 xff0c 这个或多或少带有一定的误导性 从本质上讲 xff0c kill 命令只是用来向进程发送一个信号 xff0c 至于这个信
  • 联想笔记本更换固态硬盘和重装系统

    近期给自己笔记本更换了固态硬盘并且重装了系统 xff0c 在此做一下记录 更换固态硬盘 https jingyan baidu com article 48b37f8d08128f1a6564886b html 将原来机械硬盘更换为固态硬盘
  • public、private和protected的区别

    public xff1a 声明方法和属性可以被随意访问 Protected xff1a 声明的方法和属性只能被类本身和其继承子类访问 private xff1a 只能被定义属性和方法的类访问 private 是完全私有的 只有当前类中的成员
  • java.lang.ClassNotFoundException: org.springframework.jdbc.support.JdbcTransactionManager

    这个错误出现的原因可能是导入的依赖版本过低 xff0c 我的跟新到这个版本就可以了 xff0c 要添加比较新的依赖 span class token generics function span class token punctuatio
  • 关于创建React App的8个有趣事实

    来源 xff1a https medium com xff0c 作者 xff1a Jennifer Fu 翻译 xff1a 前端外文精选 你所知道的一些事情 xff0c 你可能不知道的一些事情 Create React App是搭建Reac
  • 查询“ 01 “课程比“ 02 “课程成绩高的学生的信息及课程分数

    这个是一个比较经典的sql面试题 xff0c 面试的难度挺大的 xff0c 这里我将详细讲解 xff0c 怎么使用这个方法进行查询操作 student Sid Sname Sage Ssex Sid 学生编号 Sname 学生姓名 Sage
  • localhost可以访问,使用ip地址失败

    场景 使用手机访问同一局域网内的电脑 xff0c 无法访问的问题 xff0c 前段使用的是vue的框架 Vue的框架配置 在package json中 34 dev 34 34 webpack dev server host 0 0 0 0
  • 修改Linux配置文件后,让其生效的办法

    方法一 下面这个命令 xff0c 可以使所有用户都可以生效 xff0c 但是需要重新启动服务器 xff0c 如果是企业服务器 xff0c 极其不建议重新启动 xff0c 如果允许可以重启 项目中 xff0c 这个命令一般是java通过ssh
  • 在Windows上使用nginx具体步骤

    首先下载Windows版本的nginx http nginx org en docs windows html 直接将文件解压 xff0c 然后直接在有nginx exe同级的目录下执行cmd 当然你也可以双击下图红框中的文件 xff0c
  • Linux重启nginx服务

    1 方法一 到nginx下面的sbin目录下执行 nginx s reload 2 方法二 如果第一种不生效 xff0c xff08 项目背景 xff09 实际项目不生效 xff0c 也即部署到nginx下面的vue项目 xff0c 已经更
  • 静态方法调用yml配置文件中的值

    目录 一 概念讲解二 正确方式正确方法一正确方法二 可能遇到的问题 一 概念讲解 获取配置文件的注解方式有 64 value 64 ConfigurationProperties xff0c 这两种方式遇到下列情况都会失效 xff1a 属性