从spring容器中获取一个类,如果这个类实现了一个接口并且该类存在一个AOP的切入点方法,那么通过getBean()
获取到的bean类型只能是这个类的接口类型,不能是具体实现。
猜测是因为在spring容器初始化的时候,对于容器内有切入点方法的bean,会通过JDK的动态代理生成一个代理对象,当获取这个bean的时候获取的是这个bean的代理对象,而不是bean对象本身,并且根据JDK的动态代理规则,这个代理对象也就是原本bean对象的接口类型,所以通过getBean()
获取到的bean类型只能是这个接口类型。
版权声明:本文为hjfalz原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。