今天想在一个自定义类中使用ssm带注解的service方法,发现一直报空指针,
我立即想到报null的原因没有new,发现还是不行,去new的话会使的方法脱离spring的掌控,会在其他地方报null,好学的我马上去度娘找,发现一大堆的解释,自己都看不懂,不过大多数有共同点
会借助一个工具类,借助工具类使用service(dao)方法,参考
https://blog.csdn.net/qq_21454973/article/details/77990547
里面有完整的工具类方法,可直接去copy
下面我贴出最主要的内容(SpringUtils)
public final class SpringUtils implements BeanFactoryPostProcessor {
private static ConfigurableListableBeanFactory beanFactory;
// Spring应用上下文环境
public static <T> T getBean(Class<T> clz) throws BeansException {
@SuppressWarnings("unchecked")
T result = (T) beanFactory.getBean(clz);
return result;
}
}
这样之后还有一堆可能还有错误,主要是环境问题了
注意要要在application.xml中加入
<bean id="SpringUtils" class="cn.edu.utils.SpringUtils" scope="singleton"></bean>
最后,直接使用service(dao)就可以了
private A dept= SpringUtils.getBean(A.class);