我研究了下AOP对 异常的统一处理,这个东西太好用了,可把系统异常颗粒度划分细,
先来个接口
public interface TestBean
{
void test1()throws ClassNotFoundException;
int test2(int a,int b);
}
实现类:
public class TestBeanImpl implements TestBean
{
public void test1()throws ClassNotFoundException
{
Class.forName("Peson");
}
public int test2(int a, int b)
{
return a / b;
}
}
接下来是重点:Excption 集中处理点
public class MyExceptionAdvice implements ThrowsAdvice
{
//在这里你可以定义你自己需要处理的Exception方法,比如我这里就做了对
//ClassNotFoundException ,Exception 也就是说这个类只关心这两个异常
public void afterThrowing(ClassNotFoundException ex) throws Throwable
{
System.out.println("系统抛出ClassNotFoundException异常,异常提示为: " + ex.getMessage());
}
public void afterThrowing(Method m, Object[] args, Object target, Exception ex)
{
System.out.println("系统抛出Exception异常,异常提示为: " + ex.getMessage());
System.out.println("抛出异常的方法为: " + m);
System.out.println("抛出异常的方法的参数为: " + args);
System.out.println("抛出异常的目标对象为: " + target);
}
}
好了,接下来是配置文件
<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="testTarget" class="com.spring.lee6.throwsa.TestBeanImpl"/>
<bean id="myExceptionAdvice" class="com.spring.lee6.throwsa.MyExceptionAdvice"/>
<bean id="test" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyInterfaces">
<value>com.spring.lee6.throwsa.TestBean</value>
</property>
<property name="target">
<ref local="testTarget"/>
</property>
<property name="interceptorNames">
<list>
<value>myExceptionAdvice</value>
</list>
</property>
</bean>
</beans>
管理处理类,呵呵,很受用
分享到:
相关推荐
spring aop jar 包
spring aop spring aop spring aop spring aop spring aop spring aop spring aop spring aop spring aop
spring-aop-1.1.1.jar spring-aop-1.2.6.jar spring-aop-1.2.9.jar spring-aop-2.0.2.jar spring-aop-2.0.6.jar spring-aop-2.0.7.jar spring-aop-2.0.8.jar spring-aop-2.0.jar spring-aop-2.5.1.jar spring-aop-...
描述一下Spring AOP? 在Spring AOP中关注点(concern)和横切关注点(cross-cutting concern)有什么不同? AOP有哪些可用的实现? Spring中有哪些不同的通知类型(advice types)? Spring AOP 代理是什么? 引介...
一、适合人群 1、具备一定Java编程基础,初级开发者 2、对springboot,mybatis,mysql有基本认识 3、对spring aop认识模糊的,不清楚如何实现Java 自定义注解的 ...4、spring boot,mybatis,druid,spring aop的使用
基于注解实现SpringAop基于注解实现SpringAop基于注解实现SpringAop
死磕Spring之AOP篇 - Spring AOP两种代理对象的拦截处理(csdn)————程序
springaop依赖的jar包,spring版本2.5.6,如果需要,可以下载使用,欢迎各位评论指出不足
Spring框架的关键组件之一是面向方面编程(AOP)框架。 面向方面的编程需要将程序逻辑分解成不同的部分。 此教程将通过简单实用的方法来学习Spring框架提供的AOP/面向方面编程。
AOP流程源码分析-SpringAOP中定义的类图AOP流程源码分析-SpringAOP中定义的类图AOP流程源码分析-SpringAOP中定义的类图AOP流程源码分析-SpringAOP中定义的类图AOP流程源码分析-SpringAOP中定义的类图AOP流程源码分析...
spring aop切面拦截指定类和方法实现流程日志跟踪 一般情况下,在不侵入业务代码的情况下,需要做流程日志跟踪是比较合理的 采用springaop切面思想
spring aop的demo spring aop的demo
开发工具 spring-aop-4.3.6.RELEASE开发工具 spring-aop-4.3.6.RELEASE开发工具 spring-aop-4.3.6.RELEASE开发工具 spring-aop-4.3.6.RELEASE开发工具 spring-aop-4.3.6.RELEASE开发工具 spring-aop-4.3.6.RELEASE...
Spring AOP 几个不同使用方法的完整例子,使用Junit4c测试, 在我的博客上有不同配置组合的说明,可以参考
AOP的意思就是面向切面编程。本文主要是通过梳理JDK中自带的反射机制,实现 AOP动态代理模式,这也是Spring AOP 的实现原理
NULL 博文链接:https://306963591.iteye.com/blog/1129837
Spring aop Spring aop
springAOP所需jar包 springAOP所需jar包 springAOP所需jar包 springAOP所需jar包 springAOP所需jar包
Spring源码最难问题:当Spring AOP遇上循环依赖.docx
Spring AOP的实现机制中文版,动态代理及原理,自定义类加载器