在监听中是无法直接根据注解或者是new调用业务逻辑层的,那么需要通过spring的appliactionContext来获取
一、编写一个工具类SpringUtils
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Service;
@Service
public class SpringUtils implements ApplicationContextAware {
private static ApplicationContext applicationContext = null;
public static Object getBean(String name) {
if (applicationContext == null) {
return null;
}
return applicationContext.getBean(name);
}
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
SpringUtils.applicationContext = applicationContext;
}
}
二、调用方式
@Service(value="testServiceImpl")
public class TestServiceImpl extends BaseServiceImpl<Test> implements
TestServiceI
TestServiceI tService = (TestServiceI)SpringUtils.getBean("testServiceImpl");