java中使用@Value获取值为null问题解决:

简介: java中使用@Value获取值为null问题解决

问题重现:读取配置文件(**.yml)中的值,获取为null


// 读取配置文件(**.yml)中的值@Value(value="${upload.minio.minio_url}")
privatestaticStringminioUrl;


问题解析:


java中static/final修饰的变量,通过@Value是获取不到值的。


问题解决方案:


方案一:在变量的seter方法上使用@Value


1.静态变量的setter 方法需要去掉 static  修饰词


2.并需要使用public修饰


3.最后需要注意要在类上加上@Component ,才可以成功注入。


@Value(value="${upload.minio.minio_url}")
publicstaticvoidsetMinioUrl(StringminioUrl) {
MinioUtil.minioUrl=minioUrl;
}


方案二:通过中间变量赋值:在类上加上@Component


privatestaticStringminioUrl;
@Value(value="${upload.minio.minio_url}")
privateStringminioUrl2;
@PostConstructpublicvoidinit() { 
minioUrl=minioUrl2; 
}


总结:解决方案有两种,都是间接的通过非static的变量获取到值,从而拿到.yml中的值;但是,两种方法中都需要在类上加上@Component。

目录
相关文章
|
2月前
|
API 计算机视觉
Using ‘value‘ pointer is unsafe and deprecated. Use NULL as value pointer. To fetch trackbar value s
本文讨论了OpenCV中使用`createTrackbar`时遇到的"Using ‘value’ pointer is unsafe and deprecated"警告,并提供了通过设置空指针或使用回调函数来解决这个问题的方法。
Using ‘value‘ pointer is unsafe and deprecated. Use NULL as value pointer. To fetch trackbar value s
|
2月前
|
Java 测试技术
Java系列之判断字符串是为空或者null
这篇文章介绍了如何在Java中使用`isEmpty()`方法判断字符串是否为空或`null`,并提供了相应的测试用例来演示其用法。
|
2月前
|
IDE Java 测试技术
如何优雅地根治Java中Null值引起的Bug问题
【8月更文挑战第18天】在Java开发中,null 值是一个既常见又危险的存在。它常常是导致程序崩溃、难以调试的“罪魁祸首”。然而,通过一系列优雅的策略和实践,我们可以有效地减少甚至根除由 null 值引发的Bug。本文将从多个方面探讨如何做到这一点。
53 4
|
2月前
解决微软云Azure Function运行报错-Value cannot be null. (Parameter ‘provider‘)
解决微软云Azure Function运行报错-Value cannot be null. (Parameter ‘provider‘)
50 4
|
2月前
|
JSON 前端开发 JavaScript
JSON parse error: Cannot deserialize value of type `java.lang.Integer` from Boolean value
这篇文章讨论了前端Vue应用向后端Spring Boot服务传输数据时发生的类型不匹配问题,即后端期望接收的字段类型为`int`,而前端实际传输的类型为`Boolean`,导致无法反序列化的问题,并提供了问题的诊断和解决方案。
JSON parse error: Cannot deserialize value of type `java.lang.Integer` from Boolean value
|
2月前
|
存储 JavaScript Java
Java中未被初始化的字符串打印出“null”?
在Java中,未初始化的`String`变量默认值为`null`。打印此类变量时输出“null”,是因为`PrintStream`类中的`print`方法特别处理了`null`值,将其转换为字符串“null”。从JDK 17开始,`println`方法通过`String.valueOf`间接实现相同功能。当拼接包含`null`的字符串时,如`s1 + "BLACK"`,结果为“nullBLACK”,这是因为字符串构建过程中`StringBuilder`的`append`方法将`null`转换为“null”。
|
2月前
|
C++ Python
【Azure 应用服务】Azure Function Python函数部署到Azure后遇见 Value cannot be null. (Parameter 'receiverConnectionString') 错误
【Azure 应用服务】Azure Function Python函数部署到Azure后遇见 Value cannot be null. (Parameter 'receiverConnectionString') 错误
|
2月前
|
JavaScript 前端开发 C++
【Azure Function】调试 VS Code Javascript Function本地不能运行,报错 Value cannot be null. (Parameter 'provider')问题
【Azure Function】调试 VS Code Javascript Function本地不能运行,报错 Value cannot be null. (Parameter 'provider')问题
|
2月前
|
NoSQL Java Redis
【Azure Spring Cloud】Java Spring Cloud 应用部署到Azure上后,发现大量的 java.lang.NullPointerException: null at io.lettuce.core.protocol.CommandHandler.writeSingleCommand(CommandHandler.java:426) at ... 异常
【Azure Spring Cloud】Java Spring Cloud 应用部署到Azure上后,发现大量的 java.lang.NullPointerException: null at io.lettuce.core.protocol.CommandHandler.writeSingleCommand(CommandHandler.java:426) at ... 异常
|
2月前
|
Java 程序员 开发者
Java之! = null判空
总之,`!= null`的判空技巧对于任何使用Java进行开发的程序员都是基本功,它有助于维护代码的清晰度和安全性,在编写可靠和维护性强的软件应用时扮演着关键角色。掌握这个简单却重要的技术,将对任何Java开发者的职业生涯大有裨益。
54 0
下一篇
无影云桌面