DerekYRC/mini-spring

多个切面匹配到同一个对象情况

susanbushisan opened this issue · 4 comments

如题,在多个切面切到同一个对象的时候,在现有逻辑的情况下无法处理,在org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator#wrapIfNecessary中逻辑匹配到对于的class后然后就返回了代理对象。如果是不支持多切面的话感觉太别扭了,毕竟非常核心的功能

为了简化没有考虑多个切面匹配到同一个对象的问题,有空再修复,感兴趣的小伙伴也可以pull request

如题,在多个切面切到同一个对象的时候,在现有逻辑的情况下无法处理,在org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator#wrapIfNecessary中逻辑匹配到对于的class后然后就返回了代理对象。如果是不支持多切面的话感觉太别扭了,毕竟非常核心的功能

看了spring源码,如果要支持多个切面,改动较大,会增加复杂度和阅读理解难度,毕竟是用于学习spring源码的的简化版的框架,就不支持此功能了。

虽然过去一年多了,但如果对多切面感兴趣可以看一下我提交的分支

@susanbushisan 多切面增强可查看 @zqczgl 提交的代码,分支lazy-init-and-multi-advice