问题描述:
java.lang.ClassNotFoundException: testTask
问题分析:
1、使用Class.forName(beanName).newInstance()创建实例,但是beanName不是包名加类名,而是Spring里面的@Component("testTask")实例名。
解决办法:
public Object getBean(String beanName){
Object bean = null;
if (beanName.indexOf(".") < 0) {
//bean名为自定义的实例名@Component
bean = SpringUtil.getBean(beanName);
} else {
//bean名带包名路径
bean = Class.forName(beanName).newInstance();
}
}
注:SpringUtil.getBean()方法源码请查看以下博客。