springboot @Value获取值为空,解决办法

在spring中,常常使用 @Value("${property}") 从application.properties中取值,需要注意两点

  1. 使用 @Value 的类不能使用 new 关键字进行实例化对象,必须采用 依赖注入的方式进行实例化
  2. 不能使用显式的构造方法

否则,将取不到值.解决方法如下:

  •   删除显式的构造方法,需要使用构造方法初始化的内容可以使用@PostConstruct
@PostConstruct //加上该注解表明该方法会在bean初始化后调用
private void init() {  //添加你的内容}
  •   使用构造方法注入
public LogConsumer(@Value("${report.period}") long reportPeriod) {
        this.reportPeriod = reportPeriod;
        System.out.println(reportPeriod + "1111111111111111111111111111111111111111");

    }

原文地址:https://www.cnblogs.com/lixyu/p/9444298.html

时间: 2024-10-13 04:20:38

springboot @Value获取值为空,解决办法的相关文章

WebAPI中无法获取Session对象的解决办法

在MVC的WebApi中默认是没有开启Session会话支持的.需要在Global中重写Init方法来指定会话需要支持的类型 public override void Init() { PostAuthenticateRequest += MvcApplication_PostAuthenticateRequest; base.Init(); } void MvcApplication_PostAuthenticateRequest(object sender, EventArgs e) { H

IE下iframe中使用滤镜document.selection.createRange().text获取不到值得解决办法

通常的写法是select方法后跟一个blur方法,但是这里我们不能使用blur方法,应该将blur改为window.parent.document.body.focus(); IE下iframe中使用滤镜document.selection.createRange().text获取不到值得解决办法,布布扣,bubuko.com

php date()获取的时间不对解决办法

因为php默认获取的是格林威治时间,与北京时间相差8小时. 我们要获取到北京时间有两个办法: 1.修改php.ini配置文件: 打开php.ini文件,一般在php配置根目录下,找到其中的 ;date.timezone,删掉前面的分号,并改为date timezone = PRC.保存,重启Apahce服务即可(有时用restart会有问题,先stop然后start就行了). 2.使用date_default_timezone_set(timezone_identifier)函数: 在获取时间的

安卓模拟器Android SDK Manager 无法获取SDK列表的解决办法

1.打开运行Android SDK Manager ,Tool菜单,选择Options,打开设置菜单,勾选“Force https://...sources to be fetched using http://...”,,然后点Close关闭,如下图: 2.设置hostes文件能电脑能正常访问Google下载中心 打开C:\Windows\System32\drivers\etc文件夹,双击hosts文件,选择使用记事本打开,把以下代码加到hosts文件中. 74.125.113.121 de

Activex调试以及m_hWnd为空 解决办法

1. 点击[开始]->[运行] 命令:regedit.2. 定位到HKEY_LOCALMACHINE -> SOFTWARE -> Microsoft -> Internet Explorer -> Main3. 在[右边区域][右键]新建一个名称为TabProcGrowth的DWORD值, 数值数据设置为0. VS不用重启,直接可以按F5进行调试ActiveX了! 参看: http://social.microsoft.com/Forums/en-US/vsdebug/th

kindeditor编辑器 编辑器textarea不能获取到内容的解决办法

默认的老旧编辑器很多问题,今天工作量稍微小点,就准备把自身的一套cms换下编辑器.结果换的时候发现kindeditor在asp下居然获取不到textarea内的内容. <script charset="utf-8" src="/editor/kindeditor.js"></script>  <script charset="utf-8" src="/editor/lang/zh_CN.js"&g

MVC5 Controller构造方法获取User为空解决方法

用如下方法获取UserId报空引用异常 1 2 3 4 5 6 7 8 9 public class BaseController : Controller {     protected SiteContext db = new SiteContext();     protected Guid userId;     public BaseController()     {         userId = Guid.Parse(User.Identity.GetUserId());   

C# 反射 设置字段值无效的解决办法

FieldInfo.SetValue的原型是:void SetValue(object obj, object value)当你传递一个值类型(结构是值类型)的时候,它要转化成object,也就是要装箱.而SetValue将作用在那个装箱产品上,而不是原来的那个结构. 解决办法就是自己装箱和拆箱子: object boxedB = b; //自己装箱,以便拿到装箱产品 fi.SetValue(boxedB, a); // b = (B)boxedB; //拆箱并拿到被SetValue的结果 Co

关于VMware 11 虚拟机不能通过DCHP获取到地址的解决办法

首先来说一下机器环境: 1.win7刚升级win10 2.VMware 版本为11.0 3.安装的虚拟机系统为 RHEL 7.0 X64位 碰到的问题: 1.刚安装的RHEL7.0系统在NAT模式下不能正常的通过DHCP获取到IP地址 2.虚拟机在手动配置IP地址后,能通过主机CMD程序ping通虚拟机,但虚拟机不能ping                          通主机 经过在百度上努力的探寻,各种版本的对比.测试最后发现是本地服务的问题! 如上图我发现我的系统居然前面三个服务没有,