工作中改造原有项目,在AOP切入日志的时候出现了一些意料之外的问题。
这篇文章只讨论通过注解的方式进行切入,不讨论通过配置文件进行切入
@Aspect注解无效
@Aspect对整个项目都无效,而且编译、运行没问题,就是不执行切面中的方法
1、引入包及版本检查:
先查看jar包是否引用完整及版本号是否匹配,以及框架(Spring、SpringMVC、Mybatis;Spring、SpringMVC、Hibernate;Spring、Structs、Hibernate;这三个框架整合之后会稍有不同,由于没有遇到这个问题所以不敢信口开河,还请各位自行百度)
2、注解检查。
2.1、对切入的类使用@Aspect注解之后,同时使用@Component注解。
2.3、配置文件中开启使用<aop:aspectj-autoproxy/>【开启之后仍然可能会无效,此处第二部分详解】,
并在beans头加入:
xmlns:aop="http://www.springframework.org/schema/aop"
以及在xsi:schemaLocation中添加:
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.1.xsd