zoukankan      html  css  js  c++  java
  • Spring如何给静态变量注入值

    Common.java是一个工具类。

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

    @Autowired
    private static IOptionService optionService;
    

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

        private static IOptionService optionService;
    
        @Autowired
        public void setOptionService(IOptionService optionService) {
            Commons.optionService = optionService;
        }

    这样就能在工具类中使用optionService了。

  • 相关阅读:
    在单向链表中删除指定的key
    双向链表反转
    单向链表反转
    认识异或运算
    二分查找
    插入排序
    冒泡排序
    选择排序
    go 语言环境安装
    欧几里得算法
  • 原文地址:https://www.cnblogs.com/zhangjianbing/p/9635807.html
Copyright © 2011-2022 走看看