`
zhaoningbo
  • 浏览: 620857 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Spring3.1异常通知ThrowsAdvice说明

    博客分类:
  • java
阅读更多
引言:

    笔者直接从Spring2.x跳到Spring3.1,在用到org.springframework.aop.ThrowsAdvice时,发现ThrowsAdvice接口内部已经被清空,立即迷茫了。怎么个说法?

正文:

    遇到这样的问题,啥也别说,先找Spring3.1的官方文档瞅瞅看有没说明(要没的话3.0继续找)……

    两分钟后,找到下面一段说明:

Throws advice
Throws advice is invoked after the return of the join point if the join point threw an exception. Spring
offerstypedthrowsadvice.Notethatthismeansthatthe
org.springframework.aop.ThrowsAdvice interface does not contain any methods: It is a tag
interface identifying that the given object implements one or more typed throws advice methods. These
should be in the form of:

    afterThrowing([Method, args, target], subclassOfThrowable)

Only the last argument is required. The method signatures may have either one or four arguments,
depending on whether the advice method is interested in the method and arguments. 
...


    大意是,ThrowsAdvice不包含任何方法了,只是一个接口标志符,方便类自己选择一个或多个通知方法。简单地说放开了“必须实现XXX的限制”

    这样上面引文中的“afterThrowing”参数中的方括号中的部分便可为可选部分,而最后一个参数也可以随意指定为自己想要的任何实现了“Throwable”的对象。

(结束)

1
3
分享到:
评论
2 楼 xyc717 2014-05-30  
我弄出来了,但是有个问题想问问,为啥他拦截什么方法都要报错,比如我又两个方法,一个返回int 一个返回list,但是加上afterThrowing这些方法后都会提示ClassCastException
说object不能转成list或者number
1 楼 damoqiongqiu 2013-04-04  
接口里面没有定义方法,却要去实现,看起来是有点诡异

相关推荐

    Spring ThrowsAdvice使用例子

    在Spring中,`ThrowsAdvice`是一个重要的概念,它用于处理异常,提供了一种灵活的方式来增强方法的异常处理逻辑。这篇博客文章将通过一个具体的例子深入探讨如何在Spring中使用`ThrowsAdvice`。 `ThrowsAdvice`是一...

    spring统一异常与日志管理

    总结起来,通过Spring AOP的`ThrowsAdvice`,我们可以实现统一的日志记录和异常处理。日志记录帮助我们追踪和调试问题,而异常处理则让我们能够更好地控制程序的流程,提供更友好的用户体验。这样的设计提高了代码的...

    面向方面编程的四种通知接口

    Spring中的`ThrowsAdvice`接口允许开发者编写特定于异常的通知。当目标方法抛出某种类型的异常时,Spring会自动调用异常通知。 ```java import org.springframework.aop.ThrowsAdvice; public class ...

    spring通知

    Spring提供了`org.springframework.aop.ThrowsAdvice`接口来实现异常后通知。 5. **环绕通知(Around Advice)** 环绕通知是最强大的通知类型,它在方法调用前后都能执行,并且可以控制方法是否执行以及如何执行。...

    spring的Aop中的前置通知,后置通知以及环绕通知简单代码

    Spring提供了两种类型的后置通知:返回后通知和异常后通知。返回后通知在方法正常返回后执行,异常后通知在方法抛出异常后执行。它们可以通过实现`org.springframework.aop.AfterReturningAdvice`和`org.spring...

    使用Spring进行统一日志管理 + 统一异常管理

    使用 Spring 进行统一日志管理 + 统一异常管理 在软件开发中,日志管理和异常管理...通过使用 Spring 的 ThrowsAdvice 接口和 Log4j 工具,开发者可以轻松地记录程序中的日志信息和异常情况,并将其输出到不同的目标。

    Spring_AOP_学习小结 Spring_AOP_学习小结 Spring_AOP_学习小结

    4. ThrowsAdvice(异常通知):在方法抛出异常后调用。 5. IntroductionInterceptor(引入拦截器):用于向目标对象添加新的字段或方法。 五、Spring AOP切入点 1. Pointcut:定义了匹配特定Joinpoint的规则,...

    小马哥讲 Spring AOP 编程思想 - API 线索图.pdf

    - **ThrowsAdvice(抛出异常后通知)**:仅在方法抛出异常后执行的通知。 3. AOP的配置和代理对象的创建 - **容器(1对1关联)**:此处可能指的是Spring IoC容器与AOP配置的一对一关联。 - **PointcutAdvisor...

    如何使用Spring AOP的通知类型及创建通知

    4. **异常通知**(ThrowsAdvice):在目标方法抛出异常后运行。可以在这里处理异常,或者记录日志。例如: ```java public class ThrowsAdviceImpl implements ThrowsAdvice { @AfterThrowing(pointcut = ...

    Spring  AOP实现方法大全

    在Spring 1.2及更早版本中,实现AOP通常依赖于Spring的AOP API,通过创建Advice(通知)并设置代理对象来完成。 Spring提供了四种主要类型的Advice,每种类型对应于方法执行的不同阶段: 1. **Before Advice**:在...

    spring入门学习-6、AOP几种配置方式详解.pdf

    - **异常通知**:`org.springframework.aop.ThrowsAdvice` 是一个接口,定义了在目标方法抛出异常后执行的操作。 ##### 2.2 ProxyFactoryBean 配置注意事项 - **代理类型选择**:当被代理的类没有实现任何接口时,...

    spring_教程_2_AOP

    - **ThrowsAdvice**(异常通知):在目标方法抛出异常后执行。 **Spring AOP的应用场景:** - **授权认证**:在方法调用前检查用户权限。 - **事务管理**:自动处理方法级别的事务。 - **日志记录**:记录方法的...

    spring aop 实例

    ThrowsAdvice是一种特殊的通知,专门用于处理方法抛出的异常。当方法抛出异常时,与之关联的ThrowsAdvice会触发。我们可以通过实现`ThrowsAdvice`接口,然后定义一系列以`throws`开头的方法,每个方法对应一种可能...

    Spring第02天1

    - **ThrowsAdvice**:异常抛出通知,当方法抛出异常时执行。 - **IntroductionInterceptor**:引介通知,向目标类添加新的方法和属性。 6. **Spring半自动AOP** - 这种方式需要手动配置Spring容器,从容器中获取...

    spring-aop源码解读

    Spring提供了多种类型的Advice,包括MethodBeforeAdvice、AfterReturningAdvice、ThrowsAdvice等。 2. Pointcut(切点): Pointcut是识别哪些连接点需要应用Advice的规则或模式。它定义了哪些方法应该被增强。在...

    Spring的AOP

    3. **After抛出通知**(ThrowsAdvice):在目标方法抛出异常时调用。 4. **Around通知**(MethodInterceptor):包围整个方法调用,可以在方法执行前后以及异常处理时进行操作。 Spring的通知可以通过实现对应的AOP...

    Spring 应用之AOP

    - **异常通知(Throws advice)**:当目标方法抛出异常时调用。 - 实现接口 `ThrowsAdvice`。 4. **切面(Aspect)**:封装了多个关注点的行为,即通知和切入点的集合。 5. **代理(Proxy)**:由AOP框架动态创建...

    spring资料

    在Spring中,回调主要体现在AOP的切面定义中,如后置处理器(AfterReturningAdvice)和异常处理(ThrowsAdvice)。通过回调,开发者可以在方法执行前后或出现特定情况时执行自定义逻辑,增强代码的功能性和灵活性。 ...

    Spring基于ProxyFactoryBean创建AOP代理

    4. 异常通知(ThrowsAdvice):在方法抛出异常时自动执行的通知,可以应用于处理异常记录日志等功能。 5. 引介通知(IntroductionInterceptor):在目标类中添加一些新的方法和属性,可以应用于修改旧版本程序(增强...

Global site tag (gtag.js) - Google Analytics