
基于@Aspect @Component的切面类不生效
发布日期:2021-05-08 12:12:50
浏览次数:20
分类:精选文章
本文共 596 字,大约阅读时间需要 1 分钟。
在开发Spring Boot项目时,确保AOP配置正确是关键。以下是针对您遇到的问题的优化解释:
AOP配置检查:
- 默认启用:Spring Boot默认启用AOP,因为
spring.aop.auto
默认为true
。因此,通常不需要额外配置。 - 手动配置:如果使用的是普通Spring项目,确保在
applicationContext.xml
中添加<aop:aspectj-autoproxy />
标签,以启用AOP支持。
动态代理方式:
- Spring默认:普通Spring使用
jdk动态代理
,proxy-target-class
默认为false
。 - Spring Boot默认:使用
CGLib动态代理
,proxy-target-class
默认为true
。 - 调整方式:如果切面类未生效,尝试更改动态代理方式。例如,在
applicationContext.xml
中添加<aop:aspectj-autoproxy proxy-target-class="false" />
。
切面类验证:
- 确保所有切面类正确使用
@Aspect
注解。 - 检查是否有依赖冲突或类加载错误,特别是第三方库可能覆盖自定义切面类的情况。
调试和日志:
- 启用Spring的日志调试功能,观察AOP是否正确初始化。
- 检查是否有类加载错误或AOP相关异常。
通过以上步骤,应该能够确定并解决切面类未生效的问题,确保日志打印功能正常运行。
发表评论
最新留言
不错!
[***.144.177.141]2025年03月25日 17时46分05秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Java集合总结系列2:Collection接口
2019-03-06
Linux学习总结(九)—— CentOS常用软件安装:中文输入法、Chrome
2019-03-06
大白话说Java反射:入门、使用、原理
2019-03-06
集合系列 Set(八):TreeSet
2019-03-06
JVM基础系列第11讲:JVM参数之堆栈空间配置
2019-03-06
MySQL用户管理:添加用户、授权、删除用户
2019-03-06
比技术还重要的事
2019-03-06
linux线程调度策略
2019-03-06
软中断和实时性
2019-03-06
Linux探测工具BCC(可观测性)
2019-03-06
Opentelemetry Metrics SDK
2019-03-06
流量控制--2.传统的流量控制元素
2019-03-06
SNMP介绍及使用,超有用,建议收藏!
2019-03-06
SDUT2161:Simple Game(NIM博弈+巴什博弈)
2019-03-06
51nod 1596 搬货物(二进制处理)
2019-03-06
来自星星的祝福(容斥+排列组合)
2019-03-06
Hmz 的女装(递推)
2019-03-06
HDU5589:Tree(莫队+01字典树)
2019-03-06
不停机替换线上代码? 你没听错,Arthas它能做到
2019-03-06