springBoot项目中使用@Value取值出现的问题及解决
作者:虹猫大侠 时间:2023-05-29 12:59:16
使用@Value取值出现的问题
在springBoot项目中我们一般会把一些路径或者资源写在配置文件中,方便管理。
但是取得时候有可能会出现一些问题。
file.uploadFolder=E://upload/
1.一般情况下定义一个字段
在上面使用@Value("${名称}") 就可以得到值
@Value("${file.uploadFolder}")
private String uploadFolder;
2.但是通常我们会把它用在工具类当中
但是字段又被static修饰成为静态变量,使用这种方法就取不到值,我们拿到的就为null。
因此我们就要换一种取值方式,像下面这样就可以取到了。切记set方法不要带static!!!
private static String uploadFolder;
public static String getUploadFolder() {
return uploadFolder;
}
@Value("${file.uploadFolder}")
public void setUploadFolder(String uploadFolder) {
Base64Utils.uploadFolder = uploadFolder;
}
3.工具类最好加上@Component或者其他注解
让它由spring管理。
记springBoot使用@Value出现的乌龙
先看一下代码
server.port=8007
#mysql配置
url=jdbc:mysql://localhost:3306/lzy_zyg?useUnicode=true&characterEncoding=UTF-8
username=root
password=root
这是application.properties中填写的相关配置信息,其中mysql配置是作为外部配置信息来用的。
然后在需要的地方如下使用
@Configuration
public class JfinalDb
{
@Value("${url}")
private String dbUrl;
@Value("${username}")
private String dbUName;
@Value("${password}")
private String dbPwd;
...
}
使用的时候出现很诡异的问题,那就是命名设置的username和password是对的,通过本地连接也是对的,但是总是报连接认证失败的错误,并且用户名也不是root。
最后我将dbUName打印出来发现,完全不是root,而是我的主机名!
所以这里,切记不要在application.properties文件中自定义名称username,因为你取不到你想要的结果。
来源:https://blog.csdn.net/qq_35327989/article/details/105815667
标签:springBoot,@Value,取值
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Java全面深入探究SpringBoot拦截器与文件上传
2021-11-12 20:08:24
Java11 发布前抓紧掌握这些新特性
2022-02-08 13:20:58
![](https://img.aspxhome.com/file/2023/8/65578_0s.jpg)
Java全面细致讲解Wrapper的使用
2023-02-14 00:49:24
![](https://img.aspxhome.com/file/2023/8/63788_0s.png)
Springcloud微服务架构基础知识解析
2023-01-26 14:37:10
![](https://img.aspxhome.com/file/2023/0/61820_0s.png)
如何利用java实现生成PDF文件
2023-03-31 16:25:36
Java使用自动化部署工具Gradle中的任务设定教程
2022-08-09 12:13:31
![](https://img.aspxhome.com/file/2023/7/89577_0s.png)
Java list如何根据id获取子节点
2023-09-04 09:42:37
Springboot打包部署修改配置文件的方法
2022-12-20 11:59:58
![](https://img.aspxhome.com/file/2023/0/132100_0s.png)
使用java获取md5值的两种方法
2021-06-18 10:30:30
Android编程实现将应用强制安装到手机内存的方法
2022-09-09 23:02:08
Android Button 自带阴影效果另一种解决办法
2021-06-07 04:23:02
SpringBoot整合Echarts实现用户人数和性别展示功能(详细步骤)
2023-02-22 00:31:59
![](https://img.aspxhome.com/file/2023/0/66530_0s.png)
如何为Repository添加自定义方法
2022-05-13 20:08:24
![](https://img.aspxhome.com/file/2023/4/88214_0s.png)
.Net多进程通信共享内存映射文件Memory Mapped
2022-04-30 23:33:57
![](https://img.aspxhome.com/file/2023/6/72456_0s.jpg)
WPF实现自带触控键盘的文本框
2023-08-25 15:23:20
![](https://img.aspxhome.com/file/2023/2/113792_0s.png)
Android手机获取IP地址的两种方法
2021-05-28 14:18:51
Android简单实现文件下载
2023-08-28 06:33:17
spring boot线上日志级别动态调整的配置步骤
2022-09-19 01:57:45
![](https://img.aspxhome.com/file/2023/2/94312_0s.png)
Android读写文件工具类详解
2021-10-08 18:08:12
Idea如何导入一个SpringBoot项目的方法(图文教程)
2022-08-10 22:40:49
![](https://img.aspxhome.com/file/2023/8/79208_0s.png)