Springboot 项目读取yaml的配置文件信息给静态方法使用,以及通过配置 ResourceBundle 类读取config.properties

news/2024/5/18 15:02:24 标签: spring boot, 后端, java, 静态

读取yaml 的配置文件

配置文件信息

iot_saas_tenement:
  user_id: 7........8d9b
  private_key: MII.......qQ==
  bj_url: http://4.....5:8088
  project_name: iot_s.......roject
  device_name: te.....ice

创建一个类 ProxyProperties 读取配置文件信息,并对外提供get方法

package com.purvardata.himp.third.bj.utils;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;

// 获取yaml的配置信息添加到静态方法
@Component
public final  class ProxyProperties {


    @Value("${iot_saas_tenement.bj_url}")
    private String bj_url;
    private static String url;

    @Value("${iot_saas_tenement.user_id}")
    private String user_id;
    private static String userId;

    @Value("${iot_saas_tenement.private_key}")
    private String private_key;
    private static String privateKey;

    @Value("${iot_saas_tenement.project_name}")
    private String project_name;
    private static String projectName;

    @Value("${iot_saas_tenement.device_name}")
    private String device_name;
    private static String deviceName;



    @PostConstruct
    public void setUrl() {
        url=this.bj_url;
        userId=this.user_id;
        privateKey=this.private_key;
        projectName=this.project_name;
        deviceName=this.device_name;
    }

    public static String getUrl() {
        return url;
    }

    public static String getUserId() {
        return userId;
    }

    public static String getPrivateKey() {
        return privateKey;
    }

    public static String getProjectName() {
        return projectName;
    }

    public static String getDeviceName() {
        return deviceName;
    }
}

目标静态方法通过get方法获取对应的属性

通过类 ResourceBundle 读取 config.properties 的配置文件

config.properties配置文件信息

userId=7dd.......9b
private_key=MIIC........Q==
url=http://4......5:8088
project_name=iot_sa..............ect

定义读取 配置类 PropertiesUtils,注意 config.properties 目录,要是和 ResourceBundle.getBundle("config")路径一致,我这里放根路径了

package com.iline.bj;

import java.util.ResourceBundle;

public class PropertiesUtils {


    private static ResourceBundle bundle = ResourceBundle.getBundle("config");

    /**
     * 获取值
     *
     * @param key
     * @return
     */
    public static String getValue(String key) {
        return bundle.getString(key);
    }

}

使用配置类 PropertiesUtils.getValue 获取配置文件 config.properties  的信息


http://www.niftyadmin.cn/n/5403105.html

相关文章

题目 1629: 蓝桥杯算法训练VIP-接水问题

题目描述: 学校里有一个水房,水房里一共装有m个龙头可供同学们打开水,每个龙头每秒钟的供水量相等,均为1。现在有n名同学准备接水,他们的初始接水顺序已经确定。将这些同学按接水顺序从1到n编号,i号同学的接水量为wi。…

【C++】核心编程--类与对象(持续更新)

文章目录 1. 封装1.1封装的意义1.1.1封装意义一:属性和行为1.1.2封装的意义二:访问权限 1.2 struct和class的区别1.3 成员属性设置为私有 2.对象特性2.1 构造函数和析构函数2.2构造函数的分类及调用2.3 拷贝构造函数调用时机2.4 构造函数调用规则2.5深拷…

Vue开发实例(七)Axios的安装与使用

说明: 如果只是在前端,axios常常需要结合mockjs使用,如果是前后端分离,就需要调用对应的接口,获取参数,传递参数;由于此文章只涉及前端,所以我们需要结合mockjs使用;由于…

python:pyecharts 画基金净值 月K线图

pip install pyecharts1.9.1 pyecharts-1.9.1-py3-none-any.whl 我想在本地(PC) 画出 基金净值 月K线图,不想每次看图都需联网。 cd my_dir mkdir echarts cd echarts curl -O https://assets.pyecharts.org/assets/echarts.min.js 修改一下开源代码 …

Docker自定义JDK镜像并拉取至阿里云镜像仓库全攻略

前言 随着容器技术的日益成熟,Docker已经成为现代软件开发和部署的标配工具。其中,自定义Docker镜像是满足特定项目需求的关键步骤。特别是在Java开发环境中,我们可能需要为不同的项目配置不同版本的JDK。这时,通过Docker自定义J…

QML学习之Text

文本显示是界面开发中的重要内容,在Qt Quick模块中提供了 Text 项来进行文本的显示,其中可以使用 font 属性组对文本字体进行设置: font.bold:是否加粗,取值为true或false font.capitalization:大写策略&a…

小白学视觉 | 详解遗传算法 GA(Python实现代码)

本文来源公众号“小白学视觉”,仅用于学术分享,侵权删,干货满满。 原文链接:详解遗传算法 GA(Python实现代码) 转自:机器之心 英文:www.analyticsvidhya.com/blog/2017/07/introduc…

FastJson中“$ref 循环引用检测”的问题

今天在测试时,错误停留在了以下的代码行 Object object new ObjectMapper().readValue(JSON.toJSONString(procInst.getForm()), Object.class); 报错信息:com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field &quo…