为了账号安全,请及时绑定邮箱和手机立即绑定

我无法在Spring的后台运行该方法

我无法在Spring的后台运行该方法

DIEA 2021-05-18 13:14:45
我有一个服务DocumentServiceImpl。在这里面我想运行一个方法index()的class GlobalSearch背景。@Service@RequiredArgsConstructor public class DocumentServiceImpl implements DocumentService { ... any code@Transactional public void save(){...  Thread indexTread = new Thread(new GlobalSearch(file, id), "GlobalSearch");  indexTread.start();.... }}方法index使用类GlobalSearch的从类ExtractTextFromFile方法。我使用构造函数和Lombok注释@RequiredArgsConstructor注入类ExtractTextFromFile@Component@RequiredArgsConstructor public class GlobalSearch implements Runnable{ public final ExtractTextFromFile extractTextFromFile; (41 lines) public File file; public Long id; public GlobalSearch(File File, Long id){    this.file = file;    this.id = id;}public void index(File file, Long id) {    File textFile = extractTextFromFile.toText(file, id); ... code of this method}@Overridepublic void run() {    index(file, id);}...other methodspublic void search(){...}public String delete(){...}}..但IDE给出Variable 'extractTextFromFile' might not have been initialize了public final ExtractTextFromFile extractTextFromFile;如果我使用注入:@AutowiredExtractTextFromFile extractTextFromFile;然后给出错误:Exception in thread "GlobalSearch" java.lang.NullPointerExceptionat bps.module.zxc.component.GlobalSearch.index(GlobalSearch.java:41)at bps.module.zxc.component.GlobalSearch.run(GlobalSearch.java:136)at java.lang.Thread.run(Thread.java:748)此类ExtractTextFromFile:@Component@RequiredArgsConstructor public class ExtractTextFromFile { public File toText(File file, Long id) {  extractFromPfd();  extractFromWord(); }  extractFromPfd(){...};  extractFromWord(){...}; }
查看完整描述

2 回答

?
蓝山帝景

TA贡献1843条经验 获得超7个赞

我解决了这个问题,删除了GlobalSearch和ExtractTextFromFile类的注解@Component,然后将它们初始化为简单的句点

 GlobalSearch globalSearch = new GlobalSearch()

...和

 ExtractTextFromFile extractTextFromFile = new ExtractTextFromFile()


查看完整回答
反对 回复 2021-05-26
  • 2 回答
  • 0 关注
  • 133 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信