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