springboot如何获取yml文件的自定义参数

目录
  • 如何获取yml的自定义参数
    • 需求
    • 实现方式
  • 自定义yml文件,获取配置参数
    • 操作yml文件依赖
    • mqtt链接参数,及读取yml文件工具
    • MqttParams.yml 文件位置

如何获取yml的自定义参数

需求

通过yml文件配置参数,在需要的地方获取并使用参数

实现方式

方式一:

先上要获取的配置参数,在用到参数的位置获取yml文件里面配好的值,如果就一两个地方用到,那直接写死也不是不行,但是最好通过配置文件的方式,万一参数变了,只要改配置文件就行,业务代码不用动

yml配置参数:

Config文件

@Configuration //定义配置类
@Data //提供get set方法
@ConfigurationProperties(prefix = "xxx.smc") //yml配置中的路径
public class SmcConfig  {
    private String ip;
    private String name;
    private String password;
}

具体使用

方式二:

通过value注解的方式

自定义yml文件,获取配置参数

操作yml文件依赖

<dependency>
            <groupId>org.yaml</groupId>
            <artifactId>snakeyaml</artifactId>
            <version>1.29</version>
 </dependency>

mqtt链接参数,及读取yml文件工具

public class MqttParamObj {
    public String mqttBrokerIp;
    public Short mqttBrokerPort;
    public String userName;
    public String password;
    public String mqttClientId;
    public static MqttParamObj readConfigFile(){
        MqttParamObj mqttParamObj = null;
        File file = new File(System.getProperty("user.dir") + "/MqttParams.yml");
        try {
            InputStream fileInputStream = new FileInputStream(file);
            if(Objects.nonNull(fileInputStream)){
                Yaml yaml = new Yaml();
                mqttParamObj = yaml.loadAs(fileInputStream, MqttParamObj.class);
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        return mqttParamObj;
    }
}

MqttParams.yml 文件位置

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • springboot如何获取yml里面的属性值

    目录 如何获取yml里面的属性值 开发环境 项目结构 pom依赖 springboot启动类 person.yml person.java Dog.java SpringbootDemoApplicationTests 控制台输出 获取.yml中自定义参数 通过@Value获取 通过@ConfigurationProperties(prefix = "weixinAndAli")注解 如何获取yml里面的属性值 开发环境 idea jdk1.8 项目结构 pom依赖 <?xml

  • Springboot如何获取配置文件application.yml中自定义的变量并使用

    前言:在写项目中我们经常要将同样的变量在不同的文件中写无数次,这样修改起来要一通好找,非常不方便,平常都会写一个工具类存入自己的变量进行调用取值,但是呢,懒得写咋办,写了还要注入,注入失败又得.........麻烦,有没有办法写在配置文件中直接自定义变量通过注解的方式取值呢?肯定有啊. 正文: 一.在application.yml中配置自己的变量比如: person: name: '张三' age: '年龄25' home: '拥有房子1套' car: '轿车1辆' 二.使用注解取值并且使用 i

  • Springboot 如何指定获取出 yml文件里面的配置值

    之前写过一篇获取properties文件里面的值: Springboot 指定获取自己写的配置properties文件的值 www.jb51.net/article/217899.htm 现在补充多一篇,指定获取yml里面的配置值 . 内容: 这里分别介绍两种方式,都是基于注解实现,分别是: @Value("${xxxxx.xx}") @ConfigurationProperties(prefix = "xxxxx") 进入主题: @Value("${xx

  • Springboot 读取 yml 配置文件里的参数值

    目录 方式一 方式二 总结 方式一 1.yml配置 yml配置(示例): api: mes: MES_SOCKET: http://192.168.99.140:8081 2.读取 代码如下(示例): package com.jack.modules.wms.api.common.config; import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; impor

  • springboot如何获取yml文件的自定义参数

    目录 如何获取yml的自定义参数 需求 实现方式 自定义yml文件,获取配置参数 操作yml文件依赖 mqtt链接参数,及读取yml文件工具 MqttParams.yml 文件位置 如何获取yml的自定义参数 需求 通过yml文件配置参数,在需要的地方获取并使用参数 实现方式 方式一: 先上要获取的配置参数,在用到参数的位置获取yml文件里面配好的值,如果就一两个地方用到,那直接写死也不是不行,但是最好通过配置文件的方式,万一参数变了,只要改配置文件就行,业务代码不用动 yml配置参数: Con

  • SpringBoot项目application.yml文件数据库配置密码加密的方法

    在Spring boot开发中,需要在application.yml文件里配置数据库的连接信息,或者在启动时传入数据库密码,如果不加密,传明文,数据库就直接暴露了,相当于"裸奔"了,因此需要进行加密处理才行. 使用@SpringBootApplication注解启动的项目,只需增加maven依赖 我们对信息加解密是使用这个jar包的: 编写加解密测试类: package cn.linjk.ehome; import org.jasypt.encryption.pbe.StandardP

  • @Value如何获取yml和properties配置参数

    @Value获取yml和properties配置参数 Yml: #定时任务配置 application: xxl: job: enabled: true admin: addresses: http:///yusp-job-admin/ #127.0.0.1:8080指网关ip:port,yusp-job-admin为调度中心服务名称.通过网关,注册到微服务的/api/server接口,完成注册动作 executor: appname: af_job #执行器名称,要求务必唯一 ip: 10.2

  • SpringBoot动态更新yml文件

    目录 前言 项目依赖 YML文件内容获取 YML文件内容更新 YML属性刷新 Property刷新 注解刷新 前言 在系统运行过程中,可能由于一些配置项的简单变动需要重新打包启停项目,这对于在运行中的项目会造成数据丢失,客户操作无响应等情况发生,针对这类情况对开发框架进行升级提供yml文件实时修改更新功能 项目依赖 项目基于的是2.0.0.RELEASE版本,所以snakeyaml需要单独引入,高版本已包含在内 <dependency> <groupId>org.yaml</

  • Spring Boot中优雅的获取yml文件工具类

    如何在spring boot中优雅的获取.yml文件工具类呢 代码如下: package com.common.base.utils.base; import com.common.base.generator.ResourceManager; import org.yaml.snakeyaml.Yaml; import java.io.InputStream; import java.util.HashMap; import java.util.Map; /** * yml文件工具类 */ p

  • Springboot如何获取yml、properties参数

    目录 如何获取yml.properties参数 1.使用@Value()注解 2.使用 @component 配置文件读取yml自定义参数(亲测可用) 首先自定义一个参数 利用平时@value 获取值 另一种方式 类上面添加@component 如何获取yml.properties参数 1.使用@Value()注解 1.1 配置数据 如:在properties.yml文件配置如下数据 message_zh: 张三 message_en: ergouzi 在controller中获取: 1.2 读

  • SpringBoot如何获取application.properties中自定义的值

    目录结构: pom文件: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/

  • springboot加载复杂的yml文件获取不到值的解决方案

    目录 springboot加载yml文件获不到值 获取不到yml配置文件指定的值 springboot加载yml文件获不到值 今天使用spring boot读取yml文件,这种多层嵌套的竟然无法读取到(value注解spring.redis.pool.max.wait),即便加上全名也不行,然后网上搜到的内容也未曾满意,很多文章内容都是一样且重复的.最后放弃了查找,突发奇想之下解决了这个问题. 本文旨在如何读取多层嵌套的yml文件,希望能帮到众位. 以下是代码: package com.boot

  • SpringBoot获取yml和properties配置文件的内容

    (一)yml配置文件: pom.xml加入依赖: <!-- 支持 @ConfigurationProperties 注解 --> <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-configuration-processor --> <dependency> <groupId>org.springframework.boot</groupId>

随机推荐