由於傳統和其他原因,我無法使用JPA存儲庫。所以我試圖爲一個項目建立類似的東西。 我有類MyEntityRepo如何讓spring bean擴展一個通用的抽象類?
@Repository
public class MyEntityRepo extends CustomRepository<MyEntity, Integer> {
}
而且
public abstract class CustomRepository<T, ID> {
private static final Logger LOG =LoggerFactory.getLogger(CustomRepository.class);
protected SessionFactory sessionFactory;
private T _clazz;
private String className;
public CustomRepository() {
String className = _clazz.getClass().getName();
if (className.contains(".")) {
className = className.substring(className.lastIndexOf('.') + 1);
}
LOG.info("classname:{}", className);
}
}
但是當我開始這個項目時,Spring框架是不能,因爲它是給NullPointerException異常,因爲_clazz字段爲空創建bean。有人可以請解釋如何實現這一目標?
怎麼_clazz不能爲空,而你不是在任何地方設置? –
看起來你不需要這個'_clazz'字段。嘗試'String className = this.getClass()。getName();'而不是。 – sp00m
@ sp00m我想我並不擅長寫變量名。 className實際上是顯示實體類的名稱。 –