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

读取yaml 的配置文件

配置文件信息

iot_saas_tenement:user_id: 7........8d9bprivate_key: MII.......qQ==bj_url: http://4.....5:8088project_name: iot_s.......rojectdevice_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;@PostConstructpublic 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.mzph.cn/news/716025.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

内存的检测与排查

内存🐎的检测与排查 文章目录 内存🐎的检测与排查查杀Java Web filter型内存马0x01 内存马简历史0x02 查杀思路0x03 内存马的识别0x04 内存马的查杀 查杀Java Web filter型内存马 0x01 内存马简历史 其实内存马由来已久,早在17年n1nty师傅的…

QT6 libModbus 用于ModbusTcp客户端读写服务端

虽然在以前的文章中多次描述过,那么本文使用开源库libModbus,可得到更好的性能,也可移植到各种平台。 性能:读1次和写1次约各用时2ms。 分别创建了读和写各1个连接指针,用于读100个寄存器和写100个寄存器,读写分离。 客户端&am…

物联网与智慧城市:科技驱动下的城市智能化升级之路

一、引言 随着科技的不断进步和城市化进程的加速,物联网与智慧城市的结合已经成为推动城市智能化升级的关键力量。物联网技术以其强大的连接和数据处理能力,为智慧城市的建设提供了无限可能。本文旨在探讨物联网如何助力智慧城市的构建,以及…

SLAM ORB-SLAM2(21)基础矩阵的计算和评分

SLAM ORB-SLAM2(21)基础矩阵的计算和评分 1. 前言2. 基础矩阵2.1. 对级约束2.2. 推导2.3. 计算原理 3. ComputeF214. CheckFundamental 1. 前言 在 《SLAM ORB-SLAM2(20)查找基础矩阵》 中了解到 查找基础矩阵主要过程&#xff1…

web基础03-JavaScript

目录 一、JavaScript基础 1.变量 2.输出 3.变量提升 4.区块 5.JavaScript数据类型 6.查看数值类型 7.undefined和null 8.布尔值 9.和的区别 10.算数/三元/比较/逻辑/赋值运算符 11.特殊字符 12.字符串 (1)获取字符串长度 (2&am…

备战蓝桥杯Day21 - 堆排序的内置模块+topk问题

一、内置模块 在python中,堆排序已经设置好了内置模块,不想自己写的话可以使用内置模块,真的很方便,但是堆排序算法的底层逻辑最好还是要了解并掌握一下的。 使用heapq模块的heapify()函数将列表转换为堆,然后使用he…

41、网络编程/TCP.UDP通信模型练习20240301

一、编写基于TCP的客户端实现以下功能: 通过键盘按键控制机械臂:w(红色臂角度增大)s(红色臂角度减小)d(蓝色臂角度增大)a(蓝色臂角度减小)按键控制机械臂 1.基于TCP服务器的机械臂…

Python3零基础教程之数学运算专题进阶

大家好,我是千与编程,今天已经进入我们Python3的零基础教程的第十节之数学运算专题进阶。上一次的数学运算中我们介绍了简单的基础四则运算,加减乘除运算。当涉及到数学运算的 Python 3 刷题使用时,进阶课程包含了许多重要的概念和技巧。下面是一个简单的教程,涵盖了一些常…

勒索软件类型

勒索软件类型 加密勒索软件 它使个人文件和文件夹(文档、电子表格、图片和视频)被加密。受感染的文件被加密后会被删除,用户通常会在当下无法使用的文件的文件夹中看到一个包含付款说明的文本文件。当您尝试打开其中一个加密文件时,您才可能…

Tomcat负载均衡、动静分离

目录 引言 实验图解 1.实验环境搭建 2.部署Nginx服务器及配置静态页面Web服务 3.部署Tomcat服务及配置动态页面Web服务 4.实验验收 动态页面 静态页面 引言 tomcat服务既可以处理动态页面,也可以处理静态页面;但其处理静态页面的速度远远不如…

js优雅的统计字符串字符出现次数

题目如下 统计一串字符串中每个字符出现的频率 示例字符串 let str asdfasqwerqwrdfafafasdfopasdfopckpasdfassfd小白写法 let str asdfasqwerqwrdfafafasdfopasdfopckpasdfassfdlet result {}; for (let i 0; i < str.length; i) {if (result[str[i]]) {result[str[…

链表基础知识详解(非常详细简单易懂)

概述&#xff1a; 链表作为 C 语言中一种基础的数据结构&#xff0c;在平时写程序的时候用的并不多&#xff0c;但在操作系统里面使用的非常多。不管是RTOS还是Linux等使用非常广泛&#xff0c;所以必须要搞懂链表&#xff0c;链表分为单向链表和双向链表&#xff0c;单向链表很…

【Vue3】解锁Vue3黑科技:探索接口、泛型和自定义类型的前端奇迹

&#x1f497;&#x1f497;&#x1f497;欢迎来到我的博客&#xff0c;你将找到有关如何使用技术解决问题的文章&#xff0c;也会找到某个技术的学习路线。无论你是何种职业&#xff0c;我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章&#xff0c;也欢…

Android Compose - PlainTooltipBox(已废弃)的替代方案

Android Compose - PlainTooltipBox 的替代方案 TooltipBox(positionProvider TooltipDefaults.rememberPlainTooltipPositionProvider(),tooltip {PlainTooltip {Text(/* tooltip content */)}},state rememberTooltipState(), ) {// tooltip anchorIconButton(onClick {…

跨站脚本攻击xss-labs(1-20)靶机练手

目录 一、跨站脚本攻击&#xff08;XSS&#xff09; 1.1 漏洞简介 1.2:类型 1.3 XSS危害 1.4XSS防御规则 二、环境搭建 三、xsst通关记录 Level 1&#xff1a;文本解析为 HTML Level 2&#xff1a;htmlspecialchars;input 标签 value 注入 定义和用法 字符过滤绕过 …

从零自制docker-1-【环境配置 docker go介绍与安装】

文章目录 docker简介举例docker安装go语言go安装go 配置 docker简介 Docker可以看作是一种极其轻巧的“虚拟机”&#xff0c;它允许你将一个或多个程序及其运行环境打包在一起&#xff0c;形成一个标准化的单元&#xff0c;这个单元可以在任何支持Docker的系统上运行&#xff…

实用!IntelliJ IDEA离线开发使用要点(一)

如果IntelliJ IDEA在本地网络之外没有HTTP访问&#xff0c;它将无法检查更新和应用补丁。在这种情况下&#xff0c;您必须下载新版本的IDE并按照离线安装中的描述手动安装它们。 IDEA v2023.3正式版下载 注意&#xff1a;没有互联网接入&#xff0c;您不能安装IntelliJ IDEA使…

SaaS 电商设计 (九) 动态化且易扩展的实现购物车底部弹层(附:一套普适的线上功能切量的发布方案)

目录 一.背景1.1 业务背景1.2 技术负债 二.技术目标三.方案设计3.1 解决移动端频繁发版3.1.1 场景分析3.1.2 技术方案 3.2 减少后端坏味道代码&无法灵活扩展问题3.2.1 通过抽象接口完成各自单独楼层渲染逻辑3.2.2 通过配置能力做到部分字段可配 四.升级上线(普适于高并发大…

学习:吴恩达:什么是神经元?神经网络如何工作?

学习-吴恩达《AI for everyone》2019 深度学习非技术解释 第2部分 可选.zh_哔哩哔哩_bilibili 深度学习Deep learning 人工神经网络Artificial Neural network 什么是神经网络&#xff1f; 只有一个神经元 4个神经元的神经网络 神经网路的绝妙之处 神经网路的绝妙之处就在…

Java快读

java的快读 (1)BufferedReader BufferedReader br new BufferedReader(new InputStreamReader(System.in));//定义对象String[] strings br.readLine().split(" ");//读取一行字符串&#xff0c;以空格为分隔转化为字符串数组int n Integer.parseInt(strings[0])…