• Spring之后置通知和异常通知


    一、后置通知:

    创建LogAfter.java来实现后置通知接口:

    package org.ruangong.aop;
    
    import java.lang.reflect.Method;
    
    import org.springframework.aop.AfterReturningAdvice;
    
    public class LogAfter implements AfterReturningAdvice{
    
    	@Override
    	public void afterReturning(Object returnValue, Method method, Object[] args, Object target) throws Throwable {
    		// TODO Auto-generated method stub
    		System.out.println("后置通知....");
    	}
    
    }
    

      

    将业务类、通知纳入IOC容器。

    在applicationContext.xml文件中添加:

    <bean id="logAfter" class="org.ruangong.aop.LogAfter"></bean>
    <aop:config>
    		<aop:pointcut expression="execution(public void org.ruangong.service.StudentServiceImpl.addStudent(org.ruangong.entity.Student))" id="pointcut"/>
    		<aop:advisor advice-ref="logAfter" pointcut-ref="pointcut"/>
    	</aop:config>
    

      在xml文件中,定义切入点一端,定义通知类另一端,通过pointcut-ref来连接。进行测试即可。

    二、异常通知:

    创建LogExecption.java来实现接口:

    package org.ruangong.aop;
    
    import java.lang.reflect.Method;
    
    import org.springframework.aop.ThrowsAdvice;
    
    public class LogExecption implements ThrowsAdvice{
    	public void afterThrowing(Method method,Object[] args,Object target,Throwable ex)
    	{
    		System.out.println("异常通知:目标对象:"+target+",方法名:"+method.getName()+",方法的参数:"+args.length+",异常类型:"+ex.getMessage());
    	}
    }
    

      将业务类和通知类纳入到ioc容器:

    <!-- 异常通知 -->
    	<bean id="logExecption" class="org.ruangong.aop.LogExecption"></bean>
    <aop:config>
    		<aop:pointcut expression="execution(public void org.ruangong.service.StudentServiceImpl.addStudent(org.ruangong.entity.Student))" id="pointcut"/>
    		<aop:advisor advice-ref="logExecption" pointcut-ref="pointcut"/>
    	</aop:config>
    

      进行测试,在测试之前将实现方法中studentDao=null;

  • 相关阅读:
    createpipe
    JavaScript中的JSON(非原创一)
    Delphi资源文件的应用(转)
    PowerDesigner15对SQL2005反向工程问题.
    readonly(C# 参考)
    SQL SERVER 2005 数据挖掘与商业智能完全解决方案学习笔记(四)
    什么是Actor?
    ORACLE自增长字段实现(转)
    SQL SERVER 2005 数据挖掘与商业智能完全解决方案学习笔记(二)
    J2EE框架(TomcatStrutsHibernateSpringAjax(dojo))开发步骤:
  • 原文地址:https://www.cnblogs.com/jccjcc/p/13982765.html
Copyright © 2020-2023  润新知