在普通类、线程中中无法依赖注入问题解决方法
上图中zsBankService使用@Autowired是null值,原因是SignInOut类不在spring容器中。
解决方法1:在SignInOut类上加上@Component注解
解决方法2:写一个应用上下文的工具类
@Component
public class SpringContextUtils implements ApplicationContextAware {
/**
* 应用上下文
*/
private static ApplicationContext applicationContext;
public static ApplicationContext getApplicationContext(){
return applicationContext;
}
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
SpringContextUtils.applicationContext = applicationContext;
}
@SuppressWarnings("unchecked")
public static <T> T getBean(String name) throws BeansException {
return (T)applicationContext.getBean(name);
}
public static <T> T getBean(Class<T> clz) throws BeansException {
return (T)applicationContext.getBean(clz);
}
}
解决!

浙公网安备 33010602011771号