項(xiàng)目中我把Service這層的類改了一下.定義了兩個(gè)Service的父類.一個(gè)是:
- public interface GenericManager<T, PK extends Serializable> {
-
- public List<T> getAll();
-
- public T get(PK id);
-
- .......基本的CRUD方法
-
- }
- public class GenericManagerImpl<T, PK extends Serializable> implements GenericManager<T, PK> {
-
- protected BaseGenericHibernateDAO<T, PK> baseGenericHibernateDAO;
-
- public GenericManagerImpl(BaseGenericHibernateDAO<T, PK> baseGenericHibernateDAO) {
- this.baseGenericHibernateDAO = baseGenericHibernateDAO;
- }
-
- 對(duì)應(yīng)實(shí)現(xiàn)上面的接口CRUD方法
-
- }
但是現(xiàn)在項(xiàng)目啟動(dòng)的時(shí)候拋出一個(gè)如下的錯(cuò)誤:
Caused by: org.springframework.aop.framework.AopConfigException: Couldn't generate CGLIB subclass of class [class com.xxxx.user.service.impl.UserManagerImpl]: Common causes of this problem include using a final class or a non-visible class; nested exception is java.lang.IllegalArgumentException: Superclass has no null constructors but no arguments were given
Caused by: java.lang.IllegalArgumentException: Superclass has no null constructors but no arguments were given
at net.sf.cglib.proxy.Enhancer.emitConstructors(Enhancer.java:718)
是Spring AOP的問(wèn)題.主要是出現(xiàn)在事務(wù)這塊,由于我用的是Spring2.0 AOP 來(lái)聲明事務(wù).在聲明事務(wù)的時(shí)候我把taget-prent-class="true" 了,但事實(shí)上不能為true.去掉這個(gè)就OK了因?yàn)橐槍?duì)接口代理.
posted on 2007-12-23 20:26
周銳 閱讀(926)
評(píng)論(0) 編輯 收藏 所屬分類:
Apache 、
Spring