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。

目录
相关文章
|
8天前
|
存储 Java API
探讨Java中交换Map的Key和Value值的技术
探讨Java中交换Map的Key和Value值的技术
11 2
|
8天前
|
Java 数据处理 Apache
探讨Java中判断String类型为空和null的方法
探讨Java中判断String类型为空和null的方法
12 1
|
8天前
|
存储 SQL 关系型数据库
【BUG记录】Cause: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x90\xA6' for column 'name' at row 1
在MySQL中遇到`Incorrect string value`错误通常是因为尝试插入的字符串包含不被数据库字符集支持的字符,如表情符号。错误根源是MySQL默认的utf8不支持4字节的UTF-8字符(如Emoji)。
17 1
|
22天前
|
存储 缓存 Java
Java交换map的key和value值
在Java中,直接交换`Map`的key和value是不允许的,因为key是唯一的且不可变。不过,可以通过创建新`Map`实现交换:将原`Map`的value作为新key,key作为新value。注意,如果原`Map`有重复value或null,需额外处理。以下是一个代码示例,展示了如何在value唯一且非null的情况下交换`Map`的key和value。对于重复value或null值的情况,可以使用`List`存储多个key或忽略null值。在实际应用中,`Map`常用于缓存、配置管理、数据库结果映射等多种场景。
27 1
|
20天前
|
安全 算法 Java
Java8实战-用Optional取代null
Java8实战-用Optional取代null
12 0
|
22天前
|
Web App开发 分布式计算 大数据
MaxCompute操作报错合集之配置归并节点,出现java.lang.NullPointerException: null错误提示,该怎么办
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
|
22天前
|
Java
Java中判断String类型为空和null的方法
Java中判断`String`变量是否为空或`null`需用`== null`和`.isEmpty()`。示例代码提供两种方法:`main`方法直接判断,`safeGetString`方法提供默认值。当输入为`null`或空时,返回默认值。代码包含三个测试案例,分别处理`null`、空字符串和非空非`null`字符串。
39 0
|
2月前
|
安全 Java 开发者
Java一分钟之-Optional类:优雅处理null值
【5月更文挑战第13天】Java 8的`Optional`类旨在减少`NullPointerException`,提供优雅的空值处理。本文介绍`Optional`的基本用法、创建、常见操作,以及如何避免错误,如直接调用`get()`、误用`if (optional != null)`检查和过度使用`Optional`。正确使用`Optional`能提高代码可读性和健壮性,建议结合实际场景灵活应用。
45 3
|
2月前
|
Java 测试技术 Maven
Spring Boot单元测试报错java.lang.IllegalStateException: Could not load TestContextBootstrapper [null]
Spring Boot单元测试报错java.lang.IllegalStateException: Could not load TestContextBootstrapper [null]
|
2月前
键值的 key 和 value 允许为null吗
键值的 key 和 value 允许为null吗