一)准备业务类 ProductService
二)准备日志切面 LoggerAspect
该日志切面的功能是 在调用核心功能之前和之后分别打印日志,切面就是原理图中讲的那些辅助功能。
Object object = joinPoint.proceed();
就是将来与某个核心功能编织之后,用于执行核心功能的代码
三) applicationContext.xml
<bean name="s" class="com.how2java.service.ProductService">
</bean>
声明业务对象
<bean id="loggerAspect" class="com.how2java.aspect.LoggerAspect"/>
声明日志切面
<aop:pointcut id="loggerCutpoint"
expression=
"execution(* com.how2java.service.ProductService.*(..)) "/>
指定右边的核心业务功能
<aop:aspect id="logAspect" ref="loggerAspect">
<aop:around pointcut-ref="loggerCutpoint" method="log"/>
</aop:aspect>
指定左边的辅助功能
然后通过aop:config把业务对象与辅助功能编织在一起。
<aop:pointcut id="loggerCutpoint" expression="execution(* com.how2java.service.ProductService.*(..)) "/>这一句是声明切入点,切入点的 id 叫 loggerCutPoint ,用来标记这个切入点,
这个expression表示:满足expression中的方法调用之后,就会去进行切面操作,类似于触发了切面
四)TestSpring