您的位置:首页 > 编程语言 > Java开发

一个简单的Spring的AOP例子

2014-04-17 08:57 609 查看
目标对象的接口:IStudent.java

1 package com.dragon.study;
5
6

目标类:StudentImpl.java

1 package com.dragon.study.Impl;
5
6 import com.dragon.study.IStudent;
7
8

前置通知:BeforeAdvice.java

1 package com.dragon.Advice;
5
6 import java.lang.reflect.Method;
7
8 import org.springframework.aop.MethodBeforeAdvice;
9
10

后置通知:AfterAdvice.java

1package com.dragon.Advice;
5
6import java.lang.reflect.Method;
7
8import org.springframework.aop.AfterReturningAdvice;
9
10

环绕通知:CompareInterceptor.java

1package com.dragon.Advice;
5
6import org.aopalliance.intercept.MethodInterceptor;
7import org.aopalliance.intercept.MethodInvocation;
8
9
10

配置文件applicationContext.xml

1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
3
4<beans>
5
6<bean id="beforeAdvice" class="com.dragon.Advice.BeforeAdvice"></bean>
7<bean id="afterAdvice" class="com.dragon.Advice.AfterAdvice"></bean>
8<bean id="compareInterceptor" class="com.dragon.Advice.CompareInterceptor"></bean>
9<bean id="studenttarget" class="com.dragon.study.Impl.StudentImpl"></bean>
10
11<bean id="student" class="org.springframework.aop.framework.ProxyFactoryBean">
12 <property name="proxyInterfaces">
13 <value>com.dragon.study.IStudent</value>
14 </property>
15 <property name="interceptorNames">
16 <list>
17 <value>beforeAdvice</value>
18 <value>afterAdvice</value>
19 <value>compareInterceptor</value>
20 </list>
21 </property>
22 <property name="target">
23 <ref bean="studenttarget"/>
24 </property>
25
26</bean>
27
28
29
30
31</beans>

现在开始写测试类,Test.java

1package com;
5
6import org.springframework.context.ApplicationContext;
7import org.springframework.context.support.FileSystemXmlApplicationContext;
8
9import com.dragon.study.IStudent;
10
11
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: