解决flowable监听器中,注入spring的bean报null异常
使用@PostConstruct 注解
package com.chsu.flowable.listener; import com.chsu.archives.domain.ArchivesBorrowing; import com.chsu.archives.service.IArchivesBorrowingService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; import java.util.HashMap; import java.util.List; @Component public class UserExecutionListener implements ExecutionListener { @Autowired private IArchivesBorrowingService archivesBorrowingService; private static UserExecutionListener userExecutionListener; @PostConstruct public void init(){ userExecutionListener = this; userExecutionListener.archivesBorrowingService = this.archivesBorrowingService; } @Override public void notify(DelegateExecution delegateExecution) { System.out.println("执行监听器"); List<HashMap> list = userExecutionListener.archivesBorrowingService.selectVarinstByParentId(delegateExecution.getParentId()); for(HashMap<String,String> map : list){ if("id".equals(map.get("name"))){ String text = map.get("text"); long borringId = Long.parseLong(text); ArchivesBorrowing archivesBorrowing = new ArchivesBorrowing(); archivesBorrowing.setId(borringId); archivesBorrowing.setBorrowingApproval(2); userExecutionListener.archivesBorrowingService.updateArchivesBorrowing(archivesBorrowing); break; } } } }