1. 问题描述
今天发现老工程里有个日志切面但是总是也没有执行过。
2. 问题解决
1)怀疑是execution表达式问题,先后改动了AspectJ表达式也不生效。
2)在idea里打断点调试,tomcat启动后发现
断点红圈没有打勾(这种情况就表示代码永远不会走进来)。
最后一看,这个被标注了@Aspect的切面类根本就不是spring管理的bean。加上了@Component一切正常。
3. 总结
问题虽然很简单,但里面还是有几个知识点的:
1) spring2.5之后AOP已经全面被@Aspect等注解取代了,写起来很简便。
2)@AspectJ风格的切面可以通过@Compenent注解标识其为Spring管理Bean,也可以在xml里配置bean,无论哪种必须配置为bean。@Aspect注解
不能被Spring
自动识别并注册为Bean。
<aop:aspectj-autoproxy/>用于开启Spring对@AspectJ风格切面的支持,但不能自动识别为bean,即使开启了 <context:component-scan>。
另外,spring允许abstract class里通过@Resource或@Autowired注入bean, 而abstract class本身不必是bean,也不可能是bean。
另外关于Aspect可以参考:
1.通用知识点:
http://jinnianshilongnian.iteye.com/blog/1415606
2.Around和AfterThrowing不兼容
http://tianya23.blog.51cto.com/1081650/565034
分享到:
相关推荐
切面Aspect:切点加通知 织入weaving:讲切面加载进内存形成代理对象的过程 代理Proxy 底层实现 JDK动态代理(默认) 基于接口:代理对象与目标对象是兄弟关系,目标类必须实现接口 CGLIB动态代理 基于父类...
@Aspect 声明是一个切面 拦截规则@After @Before @Around PointCut JoinPoint Spring常用配置 Bean的Scope Singleton Prototype Request Session GlobalSession SpringEL和资源...
-- 配置切面的bean --> <bean id="loggingAspect" class="com.jas.aop.xml.LoggingAspect"/> <aop:config> <!-- 配置切点表达式 --> <aop:pointcut id="pointcut1" expression="execution(public ...
AOP(Aspect-OrientedProgramming),面向切面编程 Spring AOP里面常用名词的概念: Spring容器的启动流程 Spring Bean的生命周期? Spring中bean的作用域 说一下Spring基于xml注入bean的几种方式? Spring如何解决循环...
52. Aspect 切面 53. 在 Spring AOP 中,关注点和横切关注的区别是什么? 54. 连接点 55. 通知 56. 切点 57. 什么是引入? 58. 什么是目标对象? 59. 什么是代理? 60. 有几种不同类型的自动代理? 61. 什么是织入...
它包括IoC(Inverse of Control,控制反转)容器、AOP(Aspect-Oriented Programming,面向切面编程)等特性,可以简化开发过程、提高代码的可维护性和可测试性。 2. Spring MVC框架:Spring MVC是基于Spring框架的...
AOP(面向切面编程)功能:Spring框架提供了AOP功能,通过切面(Aspect)来实现横切关注点的模块化。在AOP中,开发人员可以定义切点(Pointcut)和增强(Advice),以在应用程序的不同位置插入额外的逻辑。
1.在mysql中创建一个Person数据库,在数据库中创建一个person表,有id,姓名,性别、家许...创建切面类,里面有身份核查、日志记录(记录在日志表中)。选择合适的连接点,使用xml声明式和注解两种方式完成aop的配置。
这是一个集电影,音乐和书籍于一体的Java web应用 命名为 微生活 个人主页: 详细的设计报告在文章后半部分 喜欢就点一下Star,谢谢亲的支持 Java 1.8 框架:使用Spring Boot ... aspect:切面应用 bean:回显的实体类
aspect:切面应用 bean:回显的实体类 celebrity:json影人条目信息 maoyan:猫眼 cinema:json单个电影院信息 cinemas:json多个电影院信息 movie:json电影信息 config:spring启动加载配置 controller:链接控制 webSock