zoukankan      html  css  js  c++  java
  • Spring中的异常增强

    接口:
    /**
    * 接口
    * Created by Administrator on 2017/10/7.
    */
    public interface ISomeService {
    public void SomeService() throws Exception;
    }

    实现类:
    /**
    * 接口的实现类
    * Created by Administrator on 2017/10/7.
    */
    public class SomeService implements ISomeService {
    //核心业务 异常增强
    public void SomeService() throws Exception{
    int result=5/0;
    System.out.println("hello");
    }
    }

    异常通知
    /**
    *
    * Created by Administrator on 2017/10/12.
    */
    public class MyExceptionAdvisor implements ThrowsAdvice {
    public void afterThrowing(Exception ex){
    System.out.println("错误");
    }
    }

    xml配置文件:
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:p="http://www.springframework.org/schema/p"
    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
    http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
    ">
    <!--异常增强-->
    <!--目标对象-->
    <bean id="someService" class="cn.happy.exceptionadvisor.SomeService"></bean>
    <!--增强 通知-->
    <bean id="throwadvise" class="cn.happy.exceptionadvisor.MyExceptionAdvisor"></bean>
    <!--aop-->
    <bean id="proxyService" class="org.springframework.aop.framework.ProxyFactoryBean">
    <!--配置需要增强的目标对象-->
    <property name="target" ref="someService"></property>
    <!--做怎么样的增强-->
    <property name="interceptorNames" value="throwadvise"></property>
    </bean>
    </beans>



    测试类:
    /**
    * 异常增强
    */
    @Test
    public void Test(){
    ApplicationContext context=new ClassPathXmlApplicationContext("applicationContextExceptionAdvice.xml");
    ISomeService someService=(ISomeService)context.getBean("proxyService");
    try {
    someService.SomeService();
    } catch (Exception e) {
    e.printStackTrace();
    }
    }

    结果:


    
    
     
     
     
  • 相关阅读:
    Microsoft.NET Framework 全面开源
    SqlCommandBuilder笔记[原]
    C#几种排序方法的整理[原]
    无聊用js写了一个模拟的购物车[原]
    Visio2005数据库建模视频[原]
    JavaScript读取XML文件[整理]
    IIS中对NetFrameWork进行注册
    时间不等人 创业准备开始了
    用CSS和HTML标签来截取过长的文字部分变成省略号
    C#在SQl中存取图片image[原]
  • 原文地址:https://www.cnblogs.com/sujulin/p/7655916.html
Copyright © 2011-2022 走看看