工具类xxxUtil从application.properties中读取参数
一.原因
编写一个服务类的工具类,想做成一个灵活的配置,各种唯一code想从配置文件中读取,便有了这个坑。
二.使用@value获取值为null,
这是因为这个工具类没有交给spring boot 来管理,导致每次都是new 一个新的,所以每次取出来的值都是nu l l
三.解决方案
方法1:
@Component
public class MyUtil {private static String str;@Value("${zjg.name}")public void setStr(String str){MyUtil.str = str;}//使用public static void dd(){System.out.println(str);}
}
方法2:
public class MyUtil {private final static ResourceBundle resourceBundle = ResourceBundle.getBundle("application");private final static String str = resourceBundle.getString("zjg.name");//使用public static void dd(){System.out.println(str);}
}
注: private final static ResourceBundle resourceBundle = ResourceBundle.getBundle(“application”); application是propertis的前缀,并且是严格匹配的,例如:上述例子,配置参数就必须放在application.properties中,不能放在application-dev.properties中。
方法3:
public class MyUtil {private static Environment env = null;public static void setEnvironment(Environment env) {MyUtil.env = env;}public static String getProperty(String key) {return env.getProperty(key);}//使用public static void dd(){System.out.println(getProperty("zjg.name"));}
}
配置类:
@Configuration注解,在这个类中将Environment注入PropertiesUtil中
@Configuration
public class PropertiesConfig {@Resourceprivate Environment env;@PostConstructpublic void setProperties() {MyUtil.setEnvironment(env);}}
方法4:
ublic class ResourceUtil {static Properties properties = null;static{properties=new Properties();InputStream in= ResourceUtil.class.getClassLoader().getResourceAsStream("application.properties");try {properties.load(in);in.close();} catch (IOException e) {e.printStackTrace();}}public static String getValue(String key){return properties.getProperty(key);}public static Properties getProperties(){return properties;}//使用public static void dd(){System.out.println(ResourceUtil.getValue("zjg.name"));}
}
相关文章:
工具类xxxUtil从application.properties中读取参数
一.原因 编写一个服务类的工具类,想做成一个灵活的配置,各种唯一code想从配置文件中读取,便有了这个坑。 二.使用value获取值为null, 这是因为这个工具类没有交给spring boot 来管理,导致每次都是new 一个新的,所以每…...
三国志14信息查询小程序(历史武将信息一览)制作更新过程05-后台接口的编写及调用
1,创建ASP.NET Web API项目 生成完毕,项目结构如下: 运行看一下: 2,后台接口编写 (1)在Models文件夹中新建一个sandata.cs文件(就是上篇中武将信息表的model文件) u…...
时序预测 | MATLAB实现基于SVM-Adaboost支持向量机结合AdaBoost时间序列预测
时序预测 | MATLAB实现基于SVM-Adaboost支持向量机结合AdaBoost时间序列预测 目录 时序预测 | MATLAB实现基于SVM-Adaboost支持向量机结合AdaBoost时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 1.Matlab实现SVM-Adaboost时间序列预测(风…...
useEffect和useLayoutEffect的区别
烤冷面加辣条的抖音 - 抖音 (douyin.com) 一、看下面的代码,即使调换useLayoutEffect和useEffect的位置依旧是useLayoutEffect先输出。 import { useState, useEffect, useLayoutEffect } from "react"; const Index () > {useLayoutEffect(() >…...
[科研图像处理]用matlab平替image-j,有点麻烦,但很灵活!
做材料与生物相关方向的同学应该对image-j并不陌生,前几天有个师兄拜托我用image-j分析一些图片,但使用过后发现我由于不了解image-j的工作流程而对结果并不确信,而且image-j的功能无法拓展,对有些图片的处理效果并不好࿰…...
Node.js |(五)包管理工具 | 尚硅谷2023版Node.js零基础视频教程
学习视频:尚硅谷2023版Node.js零基础视频教程,nodejs新手到高手 文章目录 📚概念介绍📚npm🐇安装npm🐇基本使用🐇生产依赖与开发依赖🐇npm全局安装🐇npm安装指定包和删除…...
【ES专题】ElasticSearch集群架构剖析
目录 前言阅读对象阅读导航要点笔记正文一、ES集群架构1.1 为什么要使用ES集群架构1.2 ES集群核心概念1.2.1 节点1.2.1.1 Master Node主节点的功能1.2.1.2 Data Node数据节点的功能1.2.1.3 Coordinate Node协调节点的功能1.2.1.4 Ingest Node协调节点的功能1.2.1.5 其他节点功能…...
Kafka与Flink的整合 -- sink、source
1、首先导入依赖: <dependency><groupId>org.apache.flink</groupId><artifactId>flink-connector-kafka</artifactId><version>1.15.2</version></dependency> 2、 source:Flink从Kafka中读取数据 p…...
小鱼ROS
git clone git clone https://ghproxy.com/https://github.com/stilleshan/ServerStatus git clone 私有仓库 Clone 私有仓库需要用户在 Personal access tokens 申请 Token 配合使用.git clone https://user:your_tokenghproxy.com/https://github.com/your_name/your_priv…...
简单讲讲RISC-V跳转指令基于具体场景的实现
背景 在 RISC-V指令集中,一共有 6 条有条件跳转指令,分别是 beq、bne、blt、bltu、bge、bgeu。如下是它们的定义与接口 BEQ rs1, rs2, imm ≠ BNE rs1, rs2, imm < BLT rs1, rs2, imm ≥ BGE rs1, rs2, imm < unsigned BLTU rs1…...
第13章 Java IO流处理(一) File类
目录 内容说明 章节内容 一、 File类 内容说明 结合章节内容重点难点,会对重要知识点进行扩展,以及做示例说明等,以便更好理解重点难点 章节内容 一、 File类 1、文件与目录的描述类——File ✔️ File类并不用来进行文件的读/写操作,并未涉及到写入或读取文件内容的…...
测试面试题集锦(四)| Linux 与 Python 编程篇(附答案)
本系列文章总结归纳了一些软件测试工程师常见的面试题,主要来源于个人面试遇到的、网络搜集(完善)、工作日常讨论等,分为以下十个部分,供大家参考。如有错误的地方,欢迎指正。有更多的面试题或面试中遇到的…...
pytorch中的矩阵乘法
1. 运算符介绍 关于运算,*运算,torch.mul(), torch.mm(), torch.mv(), tensor.t() 和 *代表矩阵的两种相乘方式: 表示常规的数学上定义的矩阵相乘; *表示两个矩阵对应位置处的两个元素相乘。 1.1 矩阵点乘 *和torch.mul()等同…...
Java--Stream流详解
Stream是Java 8 API添加的一个新的抽象,称为流Stream,以一种声明性方式处理数据集合(侧重对于源数据计算能力的封装,并且支持序列与并行两种操作方式) Stream流是从支持数据处理操作的源生成的元素序列,源可…...
[PHP]ShopXO企业级B2C免费开源商城系统 v2.3.1
ShopXO 企业级B2C免费开源电商系统! 求实进取、创新专注、自主研发、国内领先企业级B2C电商系统解决方案。 遵循Apache2开源协议发布,无需授权、可商用、可二次开发、满足99%的电商运营需求。 PCH5、支付宝小程序、微信小程序、百度小程序、头条&抖音…...
Python基础入门系列详解20篇
Python基础入门(1)----Python简介 Python基础入门(2)----安装Python环境(Windows、MacOS、CentOS、Ubuntu) Python基础入门(3)----Python基础语法:解释器、标识符、关键…...
P02项目(学习)
★ P02项目 项目描述:安全操作项目旨在提高医疗设备的安全性,特别是在医生离开操作屏幕时,以减少非授权人员的误操作风险。为实现这一目标,我们采用多层次的保护措施,包括人脸识别、姿势检测以及二维码识别等技术。这些…...
pandas 笔记:get_dummies分类变量one-hot化
1 函数介绍 pandas.get_dummies 是 pandas 库中的一个函数,它用于将分类变量转换为哑变量/指示变量。所谓的哑变量,就是将分类变量的每一个不同的值转换为一个新的0/1变量。在输出的DataFrame中,每一列都以该值的名称命名 pandas.get_dummi…...
PTE作文练习(一)
目录 65分备考建议 WE模版 范文 Supporting ideas: SWT 65分备考建议 RA重在多听标准的正确的示范,RS重在抓大放小,WFD重在整理错题,以及反反复复的车轮战,FIBRW重在“以对代记” 就是直接看答案,节约时间&#…...
如何做到一套FPGA工程无缝兼容两款不同的板卡?
试想这样一种场景,有两款不同的FPGA板卡,它们的功能代码90%都是一样的,但是两个板卡的管脚分配完全不同,一般情况下,我们需要设计两个工程,两套代码,之后还需要一直维护两个版本。 那么有没有一种自动化的方式,实现一个工程,编译出一个程序文件,下载到这两个不同的板…...
EasyAnimateV5-7b-zh-InP与Java集成开发实战
EasyAnimateV5-7b-zh-InP与Java集成开发实战 1. 企业级视频生成需求与解决方案 现在很多企业都需要视频内容,电商要商品展示视频,教育机构要教学动画,营销团队要广告视频。传统视频制作成本高、周期长,一个简单的商品视频可能就…...
仲景GPT:首个中医大语言模型如何革新传统医学诊疗?[特殊字符]
仲景GPT:首个中医大语言模型如何革新传统医学诊疗?🚀 【免费下载链接】CMLM-ZhongJing 首个中医大语言模型——“仲景”。受古代中医学巨匠张仲景深邃智慧启迪,专为传统中医领域打造的预训练大语言模型。 The first-ever Traditio…...
DevOps 实践与自动化运维:从手动到智能
DevOps 实践与自动化运维:从手动到智能 前言 作为一个在数据深渊里捞了十几年 Bug 的女码农,我深知 DevOps 在现代软件开发中的重要性。DevOps 不仅能缩短开发周期,提高软件质量,还能增强系统的可靠性和可维护性。今天,…...
Video2X:让模糊视频焕然一新的AI视频增强神器
Video2X:让模糊视频焕然一新的AI视频增强神器 【免费下载链接】video2x A machine learning-based video super resolution and frame interpolation framework. Est. Hack the Valley II, 2018. 项目地址: https://gitcode.com/GitHub_Trending/vi/video2x …...
网盘直链下载助手:一键获取八大网盘真实下载地址的终极方案
网盘直链下载助手:一键获取八大网盘真实下载地址的终极方案 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 /…...
GPU显存友好!Ostrakon-VL-8B Bfloat16加速部署详解
GPU显存友好!Ostrakon-VL-8B Bfloat16加速部署详解 1. 项目背景与核心价值 Ostrakon-VL-8B是一款专为零售与餐饮场景优化的多模态大模型,能够高效处理商品识别、货架分析等视觉任务。传统部署方案往往面临显存占用高、推理速度慢的问题,而本…...
OpenClaw故障排查:千问3.5-9B接口连接问题解决大全
OpenClaw故障排查:千问3.5-9B接口连接问题解决大全 1. 问题背景与排查思路 上周我在本地部署OpenClaw时,遇到了对接千问3.5-9B模型的连接问题。作为一个开源AI智能体框架,OpenClaw需要稳定接入大模型才能发挥自动化能力。但在实际配置过程中…...
Qwen3.5-9B-AWQ-4bit效果实测:不同光照/角度图片的主体识别准确率展示
Qwen3.5-9B-AWQ-4bit效果实测:不同光照/角度图片的主体识别准确率展示 1. 模型能力概述 千问3.5-9B-AWQ-4bit是一个支持图像理解的多模态模型,能够结合上传图片与文字提示词,输出中文分析结果。这个量化版本特别适合处理图片主体识别、场景…...
告别手动打字!深求·墨鉴极简文档解析,3步搞定图片转Markdown
告别手动打字!深求墨鉴极简文档解析,3步搞定图片转Markdown 1. 为什么需要图片转Markdown工具 在日常工作和学习中,我们经常会遇到需要将图片中的文字内容转换为可编辑文本的情况。传统的手动打字方式不仅效率低下,还容易出错。…...
电子工程师分类以及在AI浪潮下的挑战
电子工程师分类以及在AI浪潮下的挑战 电子工程师一般分为硬件电子工程师和软件电子工程师. 硬件电子工程师 运用各种电子工具进行电子产品的装配;测试和维修工作;其工作是技术与手动操作的结合. 软件电子工程师 分析、设计电路图, 制作印制电路板(PCB);对嵌入式系统(如单片机)进…...
