本人微信公众号"aeolian"~
秋夜雨巷

Bean named 'XXX' is expected to be of type [XXX] but was actually of type [com.sun.proxy.$Proxy7

AOP原理 声明自动为spring容器中那些配置@aspectJ切面的bean创建代理,织入切面。 的proxy-target-class属性,默认为false,表示使用jdk动态代理织入增强。当配为时,表示使用CGLib动态代理技术织入增强。如果proxy-target-class设置为false,但是目标类没有声明接口,则spring将自动使用CGLib动态代理。 解决方法 把 修改成 

秋夜雨巷

Spring AOP无法拦截Controller的原因

因为Spring的Bean扫描和Spring-MVC的Bean扫描是分开的, 两者的Bean位于两个不同的Application, 而且Spring-MVC的Bean扫描要早于Spring的Bean扫描, 所以当Controller Bean生成完成后, 再执行Spring的Bean扫描,Spring会发现要被AOP代理的Controller Bean已经在容器中存在, 配置AOP就无效了. 原文链接:https://blog.csdn.net/qq_30156781/article/details/53894128