posts - 431,  comments - 344,  trackbacks - 0
项目中我把Service这层的类改了一下.定义了两个Service的父类.一个是:
  1. public interface GenericManager<T, PK extends Serializable> {   
  2.   
  3. public List<T> getAll();   
  4.   
  5. public T get(PK id);   
  6.   
  7. .......基本的CRUD方法   
  8.   
  9. }  

  1. public class GenericManagerImpl<T, PK extends Serializable> implements GenericManager<T, PK> {   
  2.   
  3. protected BaseGenericHibernateDAO<T, PK> baseGenericHibernateDAO;   
  4.   
  5. public GenericManagerImpl(BaseGenericHibernateDAO<T, PK> baseGenericHibernateDAO) {   
  6. this.baseGenericHibernateDAO = baseGenericHibernateDAO;   
  7. }   
  8.   
  9. 对应实现上面的接口CRUD方法   
  10.   
  11. }  
但是现在项目启动的时候抛出一个如下的错误:
  • 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的问题.主要是出现在事务这块,由于我用的是Spring2.0 AOP 来声明事务.在声明事务的时候我把taget-prent-class="true" 了,但事实上不能为true.去掉这个就OK了因为要针对接口代理.
    posted on 2007-12-23 20:26 周锐 阅读(917) 评论(0)  编辑  收藏 所属分类: ApacheSpring

    只有注册用户登录后才能发表评论。


    网站导航: