私の現在のプロジェクトでは、このメソッドが呼び出されると:
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 .: basicService の 51 行目は、このメソッド内に配置されます。
@Transactional
public List<?> lista() {
return dao.findAll();
}
メンバーdao
は次のように定義されます。
@Autowired
protected Dao<E> dao;