SpringBoot使用@Value实现给静态变量注入值
SpringBoot中使用@Value()只能给普通变量注入值,不能直接给静态变量赋值
例如
application-dev.properties 配置文件有如下配置:

给普通变量赋值时,直接在变量声明之上添加@Value()注解即可,如下所示:

当要给静态变量注入值的时候,若是在静态变量声明之上直接添加@Value()注解是无效的,例如:

虽然没有编译和运行上的报错,经调试可知这种注解方式mailUsername、mailPassword、mailHost的值都是null,也就是说直接给静态变量读取配置文件是无效的,如下所示:

若要给静态变量赋值,可以使用set()方法,其中需要在类上加入@Component注解,方法名(例如setMailUsername)和参数名(例如username)可以任意命名,
如下所示:

调试结果如下:

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
1秒钟实现Springboot 替换/写入 word文档里面的文字、图片功能
这篇文章主要介绍了Springboot 替换/写入 word文档里面的文字、图片,1秒钟实现,本文结合示例代码给大家介绍的非常详细,需要的朋友可以参考下2022-12-12
Spring boot route Controller接收参数常用方法解析
这篇文章主要介绍了Spring boot route Controller接收参数常用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2020-10-10


最新评论