您现在的位置是:群英 > 开发技术 > 编程语言
springBoot项目中@Value取值相关问题怎样处理
Admin发表于 2022-10-14 17:56:28552 次浏览
今天这篇给大家分享的知识是“springBoot项目中@Value取值相关问题怎样处理”,小编觉得挺不错的,对大家学习或是工作可能会有所帮助,因此分享发大家做个参考,下文的讲解详细,步骤过程清晰,希望这篇“springBoot项目中@Value取值相关问题怎样处理”文章能帮助大家解决问题。


使用@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,因为你取不到你想要的结果。



以上就是关于“springBoot项目中@Value取值相关问题怎样处理”的相关知识,感谢各位的阅读,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注群英网络,小编每天都会为大家更新不同的知识。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

相关信息推荐
2022-11-02 18:18:35 
摘要:方法:首先进入dev c++软件 ,点击“Tools”;然后点击“Envirnoment 0ptions”;接着点击“language”选项的下拉框,选择“简体中文”;最后​点击“OK”即可。
2022-08-02 17:27:47 
摘要:本文由golang教程栏目给大家介绍关于go get时出现‘xxx is deprecated’的问题,希望对需要的朋友有所帮助!
2022-05-14 17:47:33 
摘要:本篇文章给大家带来了关于JavaScript变量提升的相关知识,什么是变量提升,为什么会有变量提升,下面一起来看一下吧,希望对大家有帮助。
云活动
推荐内容
热门关键词
热门信息
群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部