Spring_008_AOP_XML

来源:互联网 发布:淘宝有哪些官方手办店 编辑:程序博客网 时间:2024/05/18 17:02

使用XML方式来实现AOP(一般采取这种方式,而不采取注释的方式)

beans.xml配置文件如下:

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       xmlns:context="http://www.springframework.org/schema/context"       xmlns:aop="http://www.springframework.org/schema/aop"       xsi:schemaLocation="http://www.springframework.org/schema/beans           http://www.springframework.org/schema/beans/spring-beans-2.5.xsd           http://www.springframework.org/schema/context           http://www.springframework.org/schema/context/spring-context-2.5.xsd           http://www.springframework.org/schema/aop           http://www.springframework.org/schema/aop/spring-aop-2.5.xsd"><context:annotation-config/><context:component-scan base-package="com.jimmy" />  <bean id="logAOP" class="com.jimmy.aop.LogInterceptor"></bean>  <aop:config>  <aop:pointcut expression="execution(public * com.jimmy.service..*.add(..))" id="serverPointCut"/>  <aop:aspect id="logAspect" ref="logAOP" >  <aop:before method="logBefore" pointcut-ref="serverPointCut"/>  <aop:after method="logAfter" pointcut-ref="serverPointCut"/>  </aop:aspect>  </aop:config></beans>

<bean id="logAOP" class="com.jimmy.aop.LogInterceptor"></bean> 定义一个日志处理类

<aop:pointcut expression="execution(public * com.jimmy.service..*.add(..))" id="serverPointCut"/> 定义切点名为 serverPointCut,切点是service下面所有包下面的返回类型为任意的add方法

<aop:aspect id="logAspect" ref="logAOP" > <aop:before method="logBefore" pointcut-ref="serverPointCut"/> <aop:after method="logAfter" pointcut-ref="serverPointCut"/> </aop:aspect> 定义名为logAspect的切面(该切面类为上面定义的logAOP),在serverPointCut这个切入点之前执行这个切面类的logBefore方法。


 

原创粉丝点击