zoukankan      html  css  js  c++  java
  • 解决springboot项目中@Value注解参数值为null的问题

    1、错误场景:

    springboot项目中在.properties文件(.yml)文件中配置了属性值,在Bean中使用@Value注解引入该属性,Bean的构造器中使用该属性进行初始化,此时有可能会出现属性值为null,造成初始化程序的错误

    2、错误原因:

    因为Bean的构造器调用是在@Value属性赋值之前进行的,所以造成了属性还没有赋值,就被调用的情况。

    3、解决方案:

    将构造器中需要使用的@Value属性作为构造器的参数,确保构造器中使用该属性之前,属性已经得到初始化

    理论先行,代码跟上(^_^)

    (1).yml配置文件中配置系统参数值 file.upload-dir

    file:
      upload-dir: /Users/lc/temp/

    (2)FileStorageService 的构造器需要使用使用 file.upload-dir 属性

    @Service
    public class FileStorageService {
      /* @Value("${file.upload-dir}")
        private String uploadDir; */
    public FileStorageService(@Value("${file.upload-dir}") String uploadDir) throws ServiceException { this.fileStorageLocation = Paths.get(uploadDir).toAbsolutePath().normalize(); try { Files.createDirectories(this.fileStorageLocation); } catch (Exception e) { throw new Exception(e); } } }

    (3)now,问题解决了。

  • 相关阅读:
    设置linux session 编码
    在masterpage中添加对usercontrol的引用
    首页的sitecontent地址
    iis的路径
    设置repeater每行多少个的方法
    updatepannel的使用
    取caml查询结果的前多少行
    设置视频自动播放
    网站集与网站
    notepad++ 死机 找到没保存的文件
  • 原文地址:https://www.cnblogs.com/zhoujl-5071/p/10371321.html
Copyright © 2011-2022 走看看