背景:使用@value注解为类的静态属性赋值的时候,发现一直是空。为什么会这样呢?

Spring 依赖注入 是依赖 set方法,set方法是 是普通的对象方法,也就是类实例化的时候才会赋值,但是static变量是类的属性,在类被首次加载的时候就已经被赋值类,导致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中注解无法修饰静态变量相关推荐

  1. Spring中注解大全

    Spring中注解大全 @Controller 标识一个该类是Spring MVC controller 处理器,用来创建处理http请求的对象 @Controller public class Te ...

  2. 1vmware中的centos7配置静态变量

    vmware中的centos7配置静态变量 安装centos7时推荐最小化安装,避免占用过多资源 问题: 解决虚机中的Centos7连不上网 https://blog.csdn.net/u014271 ...

  3. Android 中的Activity的静态变量问题

    请看,在一个Activity中定义了一个静态变量userUUID,然后在Service中引用,Service第一次启动的时的引用值,和将app手动kill掉后,Service会重启,然后重启的Serv ...

  4. Java中被final修饰的变量的几种赋值方式

    关于final final 表示"最后的.最终的"含义,变量一旦赋值后,不能被重新赋值.被 final 修饰的实例变量必须显式指定初始值. final 修饰符通常和 static ...

  5. java中的关键字static(静态变量)和final定义常量

    package point;class Point {int x = 0;int y = 0;static int z = 100; // 定义静态变量z,类变量static final double ...

  6. java static 变量存在哪_Java中的静态方法和静态变量存储在哪里?

    小编典典 静态方法(实际上是所有方法)以及静态变量都存储在PermGen堆的部分中,因为它们是反射数据(与类相关的数据,而不与实例相关的数据)的一部分. 更新说明: 请注意,只有变量及其技术值(原始或 ...

  7. PHP的类中的常量,静态变量的问题。

    自己在写一个小型的 angularJS 库的时候,觉得 javascript 中的很多概念有点像是PHP中的概念. 像类常量, 类中的静态变量(类的静态变量是类的所有实例都共享的),这些概念虽然在 j ...

  8. python 类中静态变量_Python中的类或静态变量

    python 类中静态变量 Python类/静态变量 (Python Class / Static Variables) Class or Static variables are class-rel ...

  9. Java中的类变量(静态变量static的具体用法快速入门))

    文章目录 问题分析 修改过后的代码 运行结果 先看一段代码 package study_static;public class Childgame {public static void main(S ...

最新文章

  1. 山东华为服务器安装系统,山东云服务器平台安装
  2. Linux时间子系统之(一):时间的基本概念【转】
  3. 关于优酷开放SDk之setOnAdCountListener和setOnNetworkSppedListener
  4. zsh和bash的切换,默认shell,alias拼接组合多条命令
  5. 迭代器自定义遍历对象
  6. 【深度学习】——如何提高map值
  7. ARM(IMX6U)裸机主频和时钟
  8. 马斯克挽尊,回应为何电动皮卡车窗玻璃怼不过钢球...
  9. 自己动手写Docker系列 -- 5.1实现容器的后台运行
  10. AIX errpt 命令输出说明
  11. package的创建安装和使用
  12. 天气之子电脑壁纸_今年最受期待的5部日本动画电影,新海诚新作《天气之子》领衔...
  13. 数据交换网技术---与非安全网络业务互联的新思路
  14. Linux 多线程编程 (典藏、含代码)
  15. 测试自动化的三波浪潮
  16. C语言——求2-1000之间的素数,每行打印8个
  17. elasticsearch实现搜索拼音然后高亮内容
  18. 19年上半年读书清单一览
  19. web安全攻防渗透测试实战指南
  20. 利用BSCScan获取账户交易记录

热门文章

  1. 管道半双工通信程序linux,Linux进程间通信的几种方法-半双工管道,命名管道,消息队列...
  2. pq 中m函数判断嵌套_Python中numpy的布尔判断、切片、维度变化、合并、通用函数...
  3. c语言 双线程,如何用C语言实现多线程
  4. 计算 的程序java_数学表达式计算程序(java)
  5. java byte char io流_吃透Java IO:字节流、字符流、缓冲流
  6. mybatis mysql crud_Mybatis实现CRUD操作
  7. java程序阅读技巧_Java程序员阅读源码的小技巧,原来大牛都是这样读的,赶紧看看!...
  8. 七十三、Python | Leetcode数字系列(上篇)
  9. 二十二、面试必备:final、finally、finalize有什么不同?
  10. 【Python金融量化 7- 100 】、七、计算两只股票方差和相关性