springboot 使用配置文件配置常用数据出现的在其他类中使用@Autowired注解出现NullPointerException

本文探讨了在SpringBoot应用中,从配置文件读取常量并注入到工具类引发的NullPointerException问题。作者原先使用静态常量,后来尝试改用SpringBoot的@ConfigurationProperties进行注入,但遇到了错误。解决方案是在工具类中使用@Autowired进行实例注入,并在需要使用的地方通过类实例获取常量,避免了空指针异常。
摘要由CSDN通过智能技术生成

原始注解使用方式

@Value("${global.loginSessionUser}")
private  String LoginUserSession;    //  user 登录session
@Value("${global.Disk}")
private  String Disk;                //  磁盘位置     F
@Value("${global.DiskUrl}")
private  String DiskUrl;             //  url
@Value("${global.Img}")
private  String Img;                 //  图片
@Value("${global.FolderNameImg}")
private  String FolderNameImg;       //  图片文件夹名称 img
@Value("${global.FolderNameResource}")
private  String FolderNameResource;  //  资源文件夹名称 resource
@Value("${global.UserImgSaveLocation}")
private  String UserImgSaveLocation; //  用户图片存储地址     f:/img/user/xxx.jpg
@Value("${global.UserImgSaveDatabase}")
private  String UserImgSaveDatabase; //  用户图片存储数据地址  /img/user/xxx.jpg
@Value("${global.BlogImgSaveLocation}")
private  String BlogImgSaveLocation; //  博客图片存储地址 f:/img/user/xxx.jpg
@Value("${global.BlogImgSaveDatabase}")
private  String BlogImgSaveDatabase; //  博客图片存储数据地址  /img/user/xxx.jpg
@Value("${global.ResourceSaveLocation}")
private  String ResourceSaveLocation; // 资源存储地址
@Value("${global.ResourceSaveDatabase}")
private  String ResourceSaveDatabase; // 资源存储数据地址
@Value("${global.Slash}")
private  String Slash; // /
@Value("${global.userImgMapping}")
private  String userImgMapping;

总是报错NullPointerException
真是手贱,之前使用的是

 // session常量
  public static final String LOGIN_USER_SESSION = "LOGIN_USER_SESSION";

这种形式,后来觉得不美观,修改了下使用spring boot的配置来修改,方便后期修改
但是修改了之后总是报错

在一个图片工具类中使用


@Autowired
private GlobalConstant globalConstant;
    

然后就是报错 NullPointerException

public class FileUtil {

    private static GlobalConstant globalConstant;

    @Autowired
    public void setGlobalConstant (GlobalConstant globalConstant ){
        FileUtil.globalConstant= globalConstant;
    }

测试之后终于不报错了
在其他类中不修改不报错,在这里报错了

参考来源

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值