Spring不能注入Static变量的原因及Spring注入静态变量

作者:Draenei 时间:2023-11-24 04:16:36 

下面给大家介绍spring不能注入static变量的原因,具体详情如下所示:

Spring 依赖注入 是依赖 set方法

set方法是 是普通的对象方法

static变量是类的属性


@Autowired
private static JdbcTemplate jdbcTemplate;

单纯看这个注入过程是没有报错的,但是在接下来的jdbcTemplate.query()会报空指针错误.

ps:Spring注入静态变量

今天碰到一个问题,我的一个工具类提供了几种静态方法,静态方法需要另外一个类的实例提供处理,因此就写出了这样的代码:


Class Util{
 private static XXX xxx;
 xxx = BeanUtil.getBean("xxx");
 public static void method(){
   xxx.func();
 }
 public static void method(){
   xxx.func();
 }  
}

这里是使用的getBean的方式,获得XXX的实例,但是别人说这个方法不好,想要注入的方式。

但是静态的XXX如何注入呢?

上网查了很多的说法,其实很简单:


Class Util{
 private static XXX xxx;
 public void setXxx(XXX xxx){
   this.xxx = xxx;
 }
 public void getXxx(){
   return xxx;
 }
 public static void method1(){
   xxx.func1();
 }
 public static void method2(){
   xxx.func2();
 }  
}

在xml中正常配置注入就可以了。


<bean value="test" class="x.x.x.Util">
 <property value="xxx" ref="xxx"/>
</bean>

这里要注意,自动生成的getter和setter方法,会带有static的限定符,需要去掉,才可以。

标签:spring,注入,static,变量
0
投稿

猜你喜欢

  • Java并发编程之显示锁ReentrantLock和ReadWriteLock读写锁

    2023-06-04 04:54:22
  • SpringBoot实现接口等幂次校验的示例代码

    2022-01-21 10:49:00
  • 深入理解Java对象复制

    2021-10-06 05:39:27
  • Android 保存WebView中的图片示例

    2021-10-05 21:57:05
  • Android音视频开发Media FrameWork框架源码解析

    2021-08-07 05:12:14
  • C语言在输入输出时遇到的常见问题总结

    2021-11-08 15:22:37
  • SpringBoot实现Excel文件批量上传导入数据库

    2023-11-29 11:13:44
  • Java中char[]输出不是内存地址的原因详解

    2022-08-04 11:00:11
  • java读取xml配置参数代码实例

    2023-11-25 03:03:17
  • Java实现InputStream的任意拷贝方式

    2022-04-08 10:11:32
  • Java SpringBoot整合SpringCloud

    2022-11-11 15:07:46
  • Java中关于泛型、包装类及ArrayList的详细教程

    2021-12-25 00:46:34
  • SpringBoot如何动态改变日志级别

    2021-08-29 02:32:17
  • Java多线程与线程池技术分享

    2021-07-25 07:35:11
  • Android跳转三方应用实例代码

    2022-02-01 11:15:42
  • Java实现文件批量重命名,移动和删除

    2022-02-27 03:32:19
  • Struts2通过自定义标签实现权限控制的方法

    2021-07-19 11:06:22
  • Android系统制作自定义签名的例子

    2023-02-02 05:10:04
  • Android RecyclerView添加搜索过滤器的示例代码

    2022-03-08 21:44:49
  • Java class文件格式之方法_动力节点Java学院整理

    2021-07-15 04:14:23
  • asp之家 软件编程 m.aspxhome.com