码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2018-04-26 14:35:29      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:Java   依赖注入   Spring   SpringBoot   

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

@Autowired
private static StudentMapper studentMapper;

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

private static StudentMapper studentMapper;

public StudentMapper getStudentMapper() {
        return studentMapper;
}

@Autowired
public void setStudentMapper(StudentMapper studentMapper) {
        this.studentMapper = studentMapper;
}

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

标签:Java   依赖注入   Spring   SpringBoot   

原文地址:http://blog.51cto.com/zero01/2108079

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!