`

Spring ThrowsAdvice使用例子

阅读更多
ThrowsAdvice用于拦截异常

import java.lang.reflect.Method;

import org.springframework.aop.ThrowsAdvice;

public class DaoThrowsAdvice implements ThrowsAdvice {
	public void afterThrowing(Method m, Object args, Object target,
			Throwable subclass) {
		System.out.println("[DaoThrowsAdvice]: An exception occur: "
				+ subclass.getClass().getSimpleName());
		System.exit(0);
	}
}



配置文件
<bean id="beforeDaoAdvice" class="com.zakisoft.workspace.initcompt.advice.DaoMethodBeforeAdvice"></bean>
    <bean id="afterDaoAdvice" class="com.zakisoft.workspace.initcompt.advice.DaoMethodAfterAdvice"></bean>
    <bean id="throwsDaoAdvice" class="com.zakisoft.workspace.initcompt.advice.DaoThrowsAdvice"></bean>
    <bean id="aroundAdvice" class="com.zakisoft.workspace.initcompt.advice.DaoMethodAroundAdvice"></bean>
    
    <bean id="daoAopService" class="org.springframework.aop.framework.ProxyFactoryBean">
    	<property name="target" ref="mybatisDaoBean"></property>
    	<property name="interceptorNames">
    		<list>
    			<value>beforeDaoAdvice</value>
    			<value>afterDaoAdvice</value>
    			<value>throwsDaoAdvice</value>
    			<value>aroundAdvice</value>
    		</list>
    	</property>
    </bean>


完整程序代码请参考附件。
  • src.zip (73.5 KB)
  • 下载次数: 310
分享到:
评论

相关推荐

    SpringAOP的日志拦截示例

    首先,我们需要创建一个拦截器类,这个类通常会实现Spring的`MethodBeforeAdvice`、`AfterReturningAdvice`或`ThrowsAdvice`接口,或者自定义一个Advisor。在这个案例中,文件名为`LogInterceptor.java`的类可能是...

    spring资料

    `回调的演示.txt`可能是一个示例,展示了Spring框架中回调机制的使用。在Spring中,回调主要体现在AOP的切面定义中,如后置处理器(AfterReturningAdvice)和异常处理(ThrowsAdvice)。通过回调,开发者可以在方法...

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

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

    Spring入门

    - **示例**:使用Spring的`JdbcTemplate`来执行SQL查询,简化数据库操作。 #### JdbcTemplate基本操作 - **定义**:`JdbcTemplate`是Spring框架提供的一个简化JDBC操作的类。 - **功能**:支持各种数据库操作,如...

    spring aop 拦截器简单实现

    它是一个实现了`org.springframework.aop.MethodBeforeAdvice`、`org.springframework.aop.AfterReturningAdvice`或`org.springframework.aop.ThrowsAdvice`等接口的对象,可以在方法调用前后执行自定义逻辑。...

    基于spring_aop_权限管理系统原型

    Spring AOP通过使用代理模式来实现这一点,它可以在方法调用之前、之后或者在抛出异常时插入自定义的行为。 首先,Spring AOP提供了多种通知类型,包括`MethodBeforeAdvice`、`AfterReturningAdvice`和`...

    spring 要点总结

    Spring 是一个广泛使用的 Java 应用开发框架,它提供了丰富的功能,包括依赖注入(DI)、面向切面编程(AOP)、事务管理等。以下将详细介绍 Spring 中的 AOP 相关知识点。 1. **AOP(面向切面编程)** - **静态代理**...

    spring AOP 概念

    - **示例**:AspectJ 使用这种方式。 - **动态织入**:在运行时才完成 Aspect 的注入。 - **分类**: - **静态动态织入**:仅在首次调用时执行织入操作。 - **动态动态织入**:每次调用目标对象的方法时都会执行...

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

    它们可以通过实现`org.springframework.aop.AfterReturningAdvice`和`org.springframework.aop.ThrowsAdvice`接口来创建,或者使用`@AfterReturning`和`@AfterThrowing`注解。 ```java @Aspect public class ...

    aop的详细总结(包含例子)

    4. ThrowsAdvice:捕获方法抛出的异常后运行。 5. IntroductionInterceptor:向目标对象引入新方法或属性。 五、Spring AOP Pointcut 1. Pointcut:定义匹配特定类和方法的规则,是AOP的核心。 2. ClassFilter:...

    java-aop-predicate-dispatch:java中使用AOP实现通用谓词分派机制

    - `org.springframework.aop.MethodBeforeAdvice`,`org.springframework.aop.ThrowsAdvice` 等接口:实现自定义的通知。 **谓词分派实例** 假设我们有一个业务场景,需要根据用户的角色动态决定是否允许访问某个...

Global site tag (gtag.js) - Google Analytics