首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Spring-如何给静态变量注入值

Spring-如何给静态变量注入值

作者头像
端碗吹水
发布于 2020-09-23 14:17:41
发布于 2020-09-23 14:17:41
1.5K0
举报

Spring无法直接给静态变量注入值,因为静态变量不属于对象,只属于类,也就是说在类被加载字节码的时候变量已经初始化了,也就是给该变量分配内存了,导致spring忽略静态变量。所以如下这种写法就是错误的,这样是无法注入的,在使用该变量的时候会导致空指针错误:

代码语言:javascript
复制
@Autowired
private static StudentMapper studentMapper;

Spring 依赖注入是依赖set方法,静态变量不属于对象,只属于类。解决方法就是加上非静态的set方法,如下:

代码语言:javascript
复制
private static StudentMapper studentMapper;

public StudentMapper getStudentMapper() {
        return studentMapper;
}

@Autowired
public void setStudentMapper(StudentMapper studentMapper) {
        this.studentMapper = studentMapper;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018/04/26 ,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档