1
的新实例,在我目前的项目,当这种方法被称为:的InvocationTargetException努力使服务类
public Collection<? extends Object> list_values() throws Exception {
String nome = classe().getSimpleName();
String nome_service = nome+"Service";
String local_service = "com.spring.model."+nome;
Class<?> clazz = Class.forName(local_service.toLowerCase()+"."+nome_service);
Object serv = clazz.newInstance();
Collection<? extends Object> list = (Collection<? extends Object>) serv.getClass().getMethod("lista").invoke(serv);
return list;
}
应用触发造成这个错误的InvocationTargetException:
Caused by: java.lang.NullPointerException
at com.spring.config.generic.service.basicService.lista(basicService.java:51)
其中basicService
是该类的超类保存在变量clazz
中。
任何人都可以告诉我我在做什么错在这里?什么是正确的方式来创建这个类的新实例?
PS:行51中basicService被置于此方法内:
@Transactional
public List<?> lista() {
return dao.findAll();
}
和构件dao
定义是这样的:
@Autowired
protected Dao<E> dao;
那么当这种方法调用list_values?谁实例化拥有DAO的bean是Spring的呢?你是否还实现/扩展了任何Spring bean生命周期接口/类? – SMA 2014-11-02 13:37:12
@almasshaikh在方法'doStartTag(...)'方法中,在类的内部为自定义标记Select调用此方法。 – 2014-11-02 14:13:53