如标题:
我定义了一个注解,接口,拦截器,代码如下:
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD, ElementType.ANNOTATION_TYPE})
@Documented
public @interface Test
@Test
List<Test> test(Object ...);
@Around("@annotation(org.xxx.annotation.Test)")
public Object Interceptor(ProceedingJoinPoint pjp) throws Throwable
接口是没有实现方法的
我的想法是:拦截到接口被调用,我动态的实现,然后直接返回给调用处值
可是,我不知道是不是不能这样拦截.我始终无法拦截到接口被调用.
spring
依赖注入管理的是对象,接口spring
可管理不到,既然不是spirng
管理的对象,你spirng+aop
的配置肯定是失效的@Inherited
,方法的注解继承不了,spring
管理的是实际对象,你加不上注解,更不可能拦截到jdk代理实现接口,然后添加到spring容器中;不过你写这东西有啥用啊。。。。。。。。。。。。
接下来,用jdk实现代理工厂
利用
spirng BeanDefinitionBuilder
将实现动态生成,并让spring
托管最后配置一下在
bean.xml
中配置一下DynamicInjectBean
就大功告成了