采用配置文件完成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一样。