Spring的AOP应用实例
2013-08-17 20:22
381 查看
Spring的AOP应用实例
view plaincopy to clipboardprint?
public class WelcomeAdvice implements MethodBeforeAdvice{
public void before(Method method, Object[] objects, Object o) throws Throwable {
System.out.println("Welcome,这是MethodBeforeAdvice的before方法!");
}
}
public class WelcomeAdvice implements MethodBeforeAdvice{
public void before(Method method, Object[] objects, Object o) throws Throwable {
System.out.println("Welcome,这是MethodBeforeAdvice的before方法!");
}
} view plaincopy to clipboardprint?
public class ThankYouAdvice implements AfterReturningAdvice{
public void afterReturning(Object o, Method method, Object[] objects, Object o1) throws Throwable {
System.out.println("Thank you, come again! 这是 AfterReturningAdvice的afterReturning方法!");
}
}
public class ThankYouAdvice implements AfterReturningAdvice{
public void afterReturning(Object o, Method method, Object[] objects, Object o1) throws Throwable {
System.out.println("Thank you, come again! 这是 AfterReturningAdvice的afterReturning方法!");
}
}view plaincopy to clipboardprint?
public interface IAopTest {
void test();
}
public class AopTest implements IAopTest{
public void test() {
System.out.println("Aop Testing.......");
}
}
public interface IAopTest {
void test();
}
public class AopTest implements IAopTest{
public void test() {
System.out.println("Aop Testing.......");
}
} view plaincopy to clipboardprint?
public class TestResultImpl {
private IAopTest aopTest;
public void setAopTest(IAopTest aopTest) {
this.aopTest = aopTest;
}
public void test() {
aopTest.test();
}
}
public class TestResultImpl {
private IAopTest aopTest;
public void setAopTest(IAopTest aopTest) {
this.aopTest = aopTest;
}
public void test() {
aopTest.test();
}
} view plaincopy to clipboardprint?
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<!--创建目标代理对象-->
<bean id="aopTest" class="aop.AopTest"/>
<!--创建前置通知-->
<bean id="welcomeAdvice" class="aop.WelcomeAdvice"/>
<!--创建后置通知-->
<bean id="thankYouAdvice" class="aop.ThankYouAdvice"/>
<!--创建代理bean开始-->
<bean id="proxyFactoryBean" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyInterfaces" value="aop.IAopTest"/>
<property name="interceptorNames">
<list>
<value>welcomeAdvice</value>
<value>thankYouAdvice</value>
</list>
</property>
<property name="target" ref="aopTest"/>
</bean>
<bean id="testResult" class="aop.TestResultImpl">
<property name="aopTest" ref="proxyFactoryBean"/>
</bean>
</beans>
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<!--创建目标代理对象-->
<bean id="aopTest" class="aop.AopTest"/>
<!--创建前置通知-->
<bean id="welcomeAdvice" class="aop.WelcomeAdvice"/>
<!--创建后置通知-->
<bean id="thankYouAdvice" class="aop.ThankYouAdvice"/>
<!--创建代理bean开始-->
<bean id="proxyFactoryBean" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyInterfaces" value="aop.IAopTest"/>
<property name="interceptorNames">
<list>
<value>welcomeAdvice</value>
view plaincopy to clipboardprint?
public class WelcomeAdvice implements MethodBeforeAdvice{
public void before(Method method, Object[] objects, Object o) throws Throwable {
System.out.println("Welcome,这是MethodBeforeAdvice的before方法!");
}
}
public class WelcomeAdvice implements MethodBeforeAdvice{
public void before(Method method, Object[] objects, Object o) throws Throwable {
System.out.println("Welcome,这是MethodBeforeAdvice的before方法!");
}
} view plaincopy to clipboardprint?
public class ThankYouAdvice implements AfterReturningAdvice{
public void afterReturning(Object o, Method method, Object[] objects, Object o1) throws Throwable {
System.out.println("Thank you, come again! 这是 AfterReturningAdvice的afterReturning方法!");
}
}
public class ThankYouAdvice implements AfterReturningAdvice{
public void afterReturning(Object o, Method method, Object[] objects, Object o1) throws Throwable {
System.out.println("Thank you, come again! 这是 AfterReturningAdvice的afterReturning方法!");
}
}view plaincopy to clipboardprint?
public interface IAopTest {
void test();
}
public class AopTest implements IAopTest{
public void test() {
System.out.println("Aop Testing.......");
}
}
public interface IAopTest {
void test();
}
public class AopTest implements IAopTest{
public void test() {
System.out.println("Aop Testing.......");
}
} view plaincopy to clipboardprint?
public class TestResultImpl {
private IAopTest aopTest;
public void setAopTest(IAopTest aopTest) {
this.aopTest = aopTest;
}
public void test() {
aopTest.test();
}
}
public class TestResultImpl {
private IAopTest aopTest;
public void setAopTest(IAopTest aopTest) {
this.aopTest = aopTest;
}
public void test() {
aopTest.test();
}
} view plaincopy to clipboardprint?
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<!--创建目标代理对象-->
<bean id="aopTest" class="aop.AopTest"/>
<!--创建前置通知-->
<bean id="welcomeAdvice" class="aop.WelcomeAdvice"/>
<!--创建后置通知-->
<bean id="thankYouAdvice" class="aop.ThankYouAdvice"/>
<!--创建代理bean开始-->
<bean id="proxyFactoryBean" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyInterfaces" value="aop.IAopTest"/>
<property name="interceptorNames">
<list>
<value>welcomeAdvice</value>
<value>thankYouAdvice</value>
</list>
</property>
<property name="target" ref="aopTest"/>
</bean>
<bean id="testResult" class="aop.TestResultImpl">
<property name="aopTest" ref="proxyFactoryBean"/>
</bean>
</beans>
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<!--创建目标代理对象-->
<bean id="aopTest" class="aop.AopTest"/>
<!--创建前置通知-->
<bean id="welcomeAdvice" class="aop.WelcomeAdvice"/>
<!--创建后置通知-->
<bean id="thankYouAdvice" class="aop.ThankYouAdvice"/>
<!--创建代理bean开始-->
<bean id="proxyFactoryBean" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyInterfaces" value="aop.IAopTest"/>
<property name="interceptorNames">
<list>
<value>welcomeAdvice</value>
相关文章推荐
- AOP应用实例--Spring事务处理及其AOP框架的内幕 选择自 jwsh1984 的 Blog
- Spring Aop重要概念介绍及应用实例结合分析
- Spring Aop重要概念介绍及应用实例结合分析
- Spring AOP应用实例demo
- Spring---AOP基本概念以及Advice5种类型的通知注解应用实例
- Spring的AOP应用实例
- SpringAOP的应用实例与总结
- Spring AOP应用实例demo
- spring aop 应用实例
- AOP应用实例--Spring事务处理及其AOP框架的内幕
- Spring基于注解的缓存配置--web应用实例
- Spring aop 原理及各种应用场景
- Spring aop 日志实例
- Aop 几种应用实例
- 《深入Spring2》第五章“AOP及在Spring中的应用”的电子版出来了
- Struts2、Spring和Hibernate应用实例
- 05 Spring Aop实例(AOP 如此简单)@Aspect、@Around 注解方式配置
- 武林秘籍之Spring AOP 切面编程的简单应用
- SSH框架系列:Spring AOP应用记录日志Demo
- spring 学习(1.3) 入门基础- AOP 实例