解决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/
spring怎么读取properties
(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 = (uploadDir).toAbsolutePath().normalize();
try {
} catch (Exception e) {
throw new Exception(e);
}
}
}
(3)now,问题解决了。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。