próbuję instancję klasy rodzajowe wiosną, ale pojawia się następujący wyjątek:Problem instancji klasy rodzajowy fasoli wiosną
inicjalizacji fasoli powiodło; Zagnieżdżony wyjątek to org.springframework.aop.framework.AopConfigException: Nie można wygenerować podklasy CGLIB klasy [class football.dao.jpa.GenericJpaDAO]: Typowe przyczyny tego problemu to używanie klasy końcowej lub niewidocznej; Wyjątkiem jest zagnieżdżona java.lang.IllegalArgumentException: Nadklasa ma konstruktorów zerowe ale żadne argumenty otrzymali:
Jest to konfiguracja XML Spring pojemniku:
<bean id="clubDAO" class="football.dao.jpa.GenericJpaDAO">
<constructor-arg type="EntityManagerFactory" ref="entityManagerFactory"/>
<constructor-arg type="Class" value="football.model.entities.ClubEntity"/>
<constructor-arg type="String" value="ClubEntity"/>
</bean>
Jest to klasa ogólna:
public class GenericJpaDAO <T extends HavingID> {
private EntityManager em;
private Class entityClass;
private String entityName;
public GenericJpaDAO(Class entityClass, String entityName,
EntityManagerFactory emFactory) {
this.entityClass = entityClass;
this.entityName = entityName;
em = emFactory.createEntityManager();
}
@Transactional
public void create(T entity) {
em.persist(entity);
}
// more methods
}
Nie jestem pewien, co może być przyczyną tego. Byłbym wdzięczny za wszelkie pomysły.
Spring 4 with Objenesis umożliwia pośredniczenie klas bez domyślnego konstruktora (np .: no-arg), zobacz https://jira.springsource.org/browse/SPR-3150 – tukushan