首页 > 代码库 > spring_AOP_XML

spring_AOP_XML

 例子下载

  对于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.bjsxt"/>    <bean id="logInterceptor" class="com.bjsxt.aop.LogInterceptor"></bean>    <aop:config>        <aop:pointcut expression="execution(public * com.bjsxt.service..*.add(..))" id="logService"/>        <aop:aspect id="logAspect" ref="logInterceptor">            <aop:before method="before" pointcut-ref="logService" />        </aop:aspect>    </aop:config></beans>

程序运行时先会查看aop:pointcut里面的expression,如果调用的方法在此里面,则调用相应的切面。

上面总括的意思为:程序在调用com.bjsxt.service包下面的add方法或子包等下面add方法(任意参数)时,先调用com.bjsxt.aop.LogInterceptor里面的before方法。