因为Spring 的那个代理只支持接口类型,不支持类类型

解决方案 »

  1.   

    可我用类声明了而且用spring代理也成功了啊,我用的是spring3.0
      

  2.   

    http://blog.csdn.net/withiter/article/details/5474407
    看下这篇文章,可能是我没说明白
      

  3.   

    通常是service层需要aop。用接口的话,AOP可以使用java自带的动态代理,但是有点麻烦要写接口。用类就要用第三方包cglib,但是简单,不用写接口。至于你说的注入子类,没必要(当然也不会错),注入自己就可以了。
      

  4.   

    spring AOP会先判断是否有接口,有就动态生成一个接口的实现,没有就动态生成子类。
      

  5.   

    接口代理jdk。cglib 类的代理。
      

  6.   

    我去百度了一下,写成接口是不是为了动态代理的需要?因为jdk自带的动态代理需要接口作为参数?如果抛开aop这个问题先不管的话,我的需求只是“当我需要更换注入的组件的时候,就xml文件中进行更换bean” 那么声明成接口和声明成类是不是一样的了?
      

  7.   

    我去百度了一下,写成接口是不是为了动态代理的需要?因为jdk自带的动态代理需要接口作为参数?如果抛开aop这个问题先不管的话,我的需求只是“当我需要更换注入的组件的时候,就xml文件中进行更换bean” 那么声明成接口和声明成类是不是一样的了?就是动态代理
      

  8.   

    说到底还是动态代理,jdk规定动态代理必须用接口;当然也可以用类,用cglib可以去处理就可以了。一样的