本人初次介绍AOP的操作步骤,大神请别看
.AOP three step
a.create AOPb.declare AOP
c.configure AOP acting on Object(Controller)
step.a: create AOP
package org.tarena.aspect;
/**
*用于记录日志的AOP,演示Spring AOP的各种通知类型
*/
public class OperateLogger {
/**
* 前置通知,后置通知,最终通知使用的方法
*/
<span style="white-space:pre"> </span>public void log1() {
<span style="white-space:pre"> </span> //Logging
System.out.println("===>Record user operation information:");
<span style="white-space:pre"> </span>}
}
step.b: declare AOP
在applicationContext.xml
<!-- declare AOP -->
<bean id="operateLogger" class="org.tarena.aspect.OperateLogger"/>
step.c: configure AOP acting on Object(Controller)
<!-- configure AOP acting on Object(Controller) -->
<aop:config>
<aop:aspect ref="operateLogger">
<aop:before method="log1" pointcut="within(org.tarena.controller..*)"/<span style="font-family: Arial, Helvetica, sans-serif;">></span>
</aop:aspect>
</aop:config>
take care for : if.编译时,report error(The prefix "aop" for element "aop:config" is not bound.)
cause by 没有config xmlns:aop="http://www.springframework.org/schema/aop"
当测试出现 Exception report 如下
The matching wildcard is strict, but no declaration can be found for element 'aop:config'.
请记得在xsi:schemaLocation="“ 命名空间 http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd