区别
@within:定义在哪里,就作用在哪里。(有点静态编译的味道)
@target:运行在哪里,就作用在哪里。(类比动态执行的感觉)
@within,如果子类没有重写,在某个类上加一个注解,就会默认拦截父类的方法。
其实用@target更符合我们想要的结果,在某个类上面加一个注解,拦截的时候就会获取这个类上面的注解,跟父类完全没有关系了。
但这个时候会遇到一个问题,就是不相关的类都会生成代理类。
Reference
- https://www.cnblogs.com/eaglelihh/p/15201208.html(Spring中@within与@target的一些区别)