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();
    }
    }

    结果:


    
    
     
     
     
  • 相关阅读:
    复杂网络常用数据集网站
    01单人决策问题
    《无线网络安全技术》阅读笔记
    最优化理论基础
    测试layer控件,除了ie报错其它浏览器都生效
    Native App、Web App、Hybrid App
    有些效果在IE下运行时,IE下开调试模式才显示正常是什么原因?
    关于Content-Type中application/x-www-form-urlencoded 和 multipart/form-data的区别及用法
    js表单提交的三种方式
    前端涉及的所有知识体系
  • 原文地址:https://www.cnblogs.com/sujulin/p/7655916.html
Copyright © 2011-2022 走看看