Spring-------- 增强

spring的增强分类:前置增强,后置增强,异常增强,环绕增强。

增强的意义在于我们不改变接口,实现类,不动方法的前提下在原内容上增加内容。

首先我们看一下前置增强:前置增强必须实现的接口:MethodBeforeAdvice

[java]  view plain  copy
 
 
  1. MethodBeforeAdvice  

[java]  view plain  copy
 
 
  1. package cn.happy.spring11;  
  2.   
  3. /** 
  4.  * Created by lihuohuo on 2017/7/31. 
  5.  */  
  6. public interface IDoSome {  
  7.     public void add();  
  8.     public void add1();  
  9.     public void add2();  
  10.   
  11.   
  12. }  

[java]  view plain  copy
 
 
  1. package cn.happy.spring11;  
  2.   
  3. /** 
  4.  * Created by lihuohuo on 2017/7/31. 
  5.  */  
  6. public class IDoSomes implements IDoSome{  
  7.     public void add() {  
  8.         System.out.println("=========1=======");  
  9.     }  
  10.     public void add1() {  
  11.         System.out.println("=========2=======");  
  12.     }public void add2() {  
  13.         System.out.println("=========3=======");  
  14.     }  
  15.   
  16. }  

[java]  view plain  copy
 
 
  1. package cn.happy.spring11;  
  2.   
  3. import org.springframework.aop.MethodBeforeAdvice;  
  4.   
  5. import java.lang.reflect.Method;  
  6.   
  7. /** 
  8.  * Created by lihuohuo on 2017/7/31. 
  9.  */  
  10. public class MyBeforeAdvice implements MethodBeforeAdvice{  
  11.     public void before(Method method, Object[] objects, Object o) throws Throwable {  
  12.         System.out.println("=========before=======");  
  13.     }  
  14. }  

[java]  view plain  copy
 
 
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans"  
  3.        xmlns:aop="http://www.springframework.org/schema/aop"  
  4.        xmlns:p="http://www.springframework.org/schema/p"  
  5.        xmlns:context="http://www.springframework.org/schema/context"  
  6.        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  7.        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd  
  8.        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd  
  9.    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd ">  
  10. <bean id="Idosome" class="cn.happy.spring11.IDoSomes"></bean>  
  11.     <bean id="beforeAdvice" class="cn.happy.spring11.MyBeforeAdvice"></bean>  
  12. <bean id="someProxy" class="org.springframework.aop.framework.ProxyFactoryBean">  
  13.     <property name="target" ref="Idosome"></property>  
  14.     <property name="interceptorNames" value="beforeAdvice"></property>  
  15.   
  16. </bean>  
  17.   
  18. </beans>  

[java]  view plain  copy
 
 
  1. @Test  
  2.   public void test01(){  
  3.       ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext07.xml");  
  4.       IDoSome i=(IDoSome)ctx.getBean("someProxy");  
  5.       i.add();  
  6.       i.add1();  
  7.       i.add2();  
  8.   }  




下面是后置增强:实现的接口是: AfterReturningAdvice
[java]  view plain  copy
 
 
  1. package cn.happy.spring12;  
  2.   
  3. /** 
  4.  * Created by lihuohuo on 2017/7/31. 
  5.  */  
  6. public interface IDoSome {  
  7.     public void add();  
  8.     public
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值