采用配置文件完成spring AOP实例:

同采用注解完成spring aop一样,接口和实现类,切面类,测试类。

不同的是不需要在切面类中进行注解,完全就是一个java的普通类

package spring.proxy;

public class SpringAop
{
 public void checkMethod()
 {
  System.out.println("checkMethod-------");
 }

}

 

但是配置文件需要修改成如下:

<?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: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/aop
http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">
<!--注释掉注解的配置-->

<!--<aop:aspectj-autoproxy/>-->


      <bean id="userManagerimpl" class="spring.proxy.UserManagerImpl"/>
      <bean id="SpringAop" class="spring.proxy.SpringAop"/>

     <aop:config>
      <!-- 配置切面类 -->
        <aop:aspect id="aspectClass" ref="SpringAop">
        <!-- 配置切入点 -->
          <aop:pointcut id="allmethod" expression="execution(* *(..))"/>
          <!-- 配置advice以及关联的切入点,根据advice的类型不同,这里有不同的配置 -->
          <aop:before method="checkMethod" pointcut-ref="allmethod"/>
         <!-- <aop:after method="" pointcut-ref=""/>
          <aop:after-throwing method="" pointcut-ref=""/>-->
        </aop:aspect>
      </aop:config></beans>

 

其他的地方完全不变,测试结果效果跟注解完成spring aop一样。