轉自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