我尝试在具有Runnable的类中使用通过@Autowire
实例化的对象实例,但我得到了空指针异常
我经历了这一过程,但我尝试的所有解决方案仍然是相同的问题。
共享我的代码:
@Component
public class MyClass{
@Autowired
private ServiceA serviceA;
private String a;
private String b;
public MyClass() {
}
public MyClass(String a, String b) {
this.a = a;
this.b = b;
}
public Runnable newRunnable() {
return new Runnable() {
@Override
public void run() {
serviceA.innerMethod(a, b); //got NPE here
}
};
}
}
我把这个类称为其他类的可运行类
< code>executor.submit(新的MyClass("abc "," def ")。newRunnable());
那么,我是不是做错了什么,或者有什么方法可以让我使用这个对象
您看到的是NPE,因为ServiceA
没有注入到您的Myclass中。那是因为您通过new
关键字即new Myclass("abc","def")
创建了Myclass
尝试也从容器中获取MyClass
,即
@Autowired MyClass myClass;
并在执行器中使用myClass
。
executor.submit(myClass.newRunnable());
本文向大家介绍SpringBoot 中使用JSP的方法示例,包括了SpringBoot 中使用JSP的方法示例的使用技巧和注意事项,需要的朋友参考一下 本文介绍了SpringBoot 中使用JSP的方法示例,分享给大家,具体如下: 依赖: 示例代码: 在SpringBoot中使用JSP SpringBoot默认不支持JSP,需要在项目中添加相关的依赖 配置文件增加配置项: Login.java 以
本文向大家介绍在Vue中使用Echarts实例图的方法实例,包括了在Vue中使用Echarts实例图的方法实例的使用技巧和注意事项,需要的朋友参考一下 前言 由于在项目中需要对数据进行可视化处理,也就是用图表展示,众所周知echarts是非常强大的插件。但是新手猛的上手的话,可能会有点束手无策,所以这篇就是来写一点入门的内容,外加自己一点的小心得。 一、首先要在项目中下载echarts依赖 二、然
本文向大家介绍简单了解SpringBoot HATEOAS使用方法,包括了简单了解SpringBoot HATEOAS使用方法的使用技巧和注意事项,需要的朋友参考一下 REST风格简介 介绍HATEOAS之前先简单介绍一下REST,REST 是 Representational state transfer 的缩写,翻译过来的意思是表达性状态转换。REST是一种架构的风格 Richardson M
本文向大家介绍JavaScript中的方法重载实例,包括了JavaScript中的方法重载实例的使用技巧和注意事项,需要的朋友参考一下 .NET里面的方法重载用着的确很方便,哪Javascript里面能不能也哪样做呢? Javasciprt里面本生是没有方法重载的功能,以前很多人的做法可能是直接少传参数过去,然后在根据参数是否为 “undefined” 未定义来决定怎么处理,从而实现类似方法重载的
本文向大家介绍Android中使用AndroidTestCase的方法实例,包括了Android中使用AndroidTestCase的方法实例的使用技巧和注意事项,需要的朋友参考一下 Android 使用 AndroidTestCase 的步骤 1.新建一个类继承 AndroidTestCase 2.修改 AndroidManifest.xml 文件 在application 内部添加 appli
问题内容: Python 3.4添加了使用静态方法定义函数重载的功能。本质上是文档中的示例: 在最纯粹的形式上,实现依赖于第一个参数来标识类型,因此很难将此功能扩展到实例方法。 有人对如何使用(或使用jerry-rig)此功能使其与实例方法一起使用有任何建议吗? 问题答案: 更新: 从Python 3.8开始,允许对方法,类方法,抽象方法和静态方法进行单次调度。 对于较旧的Python版本,请参见