springboot-activiti TaskLISTener沒法注入service

轉自CSDN :https://blog.csdn.net/Laiguanfu/article/details/89366193spring

第一步建立springUtil類app

@Component
public class SpringUtil implements ApplicationContextAware{

      
     /**
        * 當前IOC
        *
        */
       private static ApplicationContext applicationContext;
        /**
         * 設置applicationContext
         */
       @Override
       public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
          this.applicationContext = applicationContext;
       }
    
       /**
        * 從當前IOC獲取bean
        */
       public static <T> T getObject(Class<T> clazz){
           return applicationContext.getBean(clazz);
       }
    
       public static void showClass(){
          String[] beanDefinitionNames = applicationContext.getBeanDefinitionNames();
          for(String beanDefinitionName : beanDefinitionNames){
             System.out.println(beanDefinitionName);
          }
       }
    
    }ide

 

 

第二步直接使用this

public class FaultListener implements TaskListener{

    /*
     * @Autowired ActivitiTaskServiceImpl activityDemoServiceImpl;
     */
    
    /**
     *
     */
    private static final long serialVersionUID = 1L;

    @Override
    public void notify(DelegateTask delegateTask) {
      
        //這是service
         ActivitiTaskServiceImpl activitiTaskServiceImpl=SpringUtil.getObject(ActivitiTaskServiceImpl.class);
        activitiTaskServiceImpl.getHell();
   
 
        
        System.out.println("getExecutionId="+delegateTask.getExecutionId() + "ProcessInstanceId="+delegateTask.getProcessInstanceId()+
                "assignee"+delegateTask.getAssignee()+"  "+" name="+delegateTask.getName()+
                " 下一活動節點 getEventName= "+delegateTask.getEventName()+" 下一任務id="+delegateTask.getId());
        
    }
    
  

}

.net

//service類就不展現了,很簡單,在你的service類中加如@Service註解便可。blog

以上步驟能夠直接獲取service,dao是經過service調用,因此把dao返給service便可get

相關文章
相關標籤/搜索