最近在做一个项目时有一个类在new的时候报了空指针异常,后来度娘了解到如果一个bean里面有用属性注入那么再调用这个类的方法时就不能用new同样也要用注入的方式。
但在内部类中无法注入但又无法new时可以直接从spring容器中获取,参考下边方法:
public static <T> T getBean(Class<T> clazz) {
T t = null;
try {
logger.info("get Bean from spring :" + clazz.getSimpleName());
t = getApplicationContext().getBean(clazz);
} catch (NoSuchBeanDefinitionException e) {
try {
t = initBeanToSpring(clazz);
} catch (Exception ex) {
logger.info("add Bean To Spring error :" + ex);
}
}
return t;
}