通过spring的aop统一拦截Exception抛出自定义异常

 Spring配置部分

<?xml version="1.0" encoding="UTF-8"?>
<beans default-autowire="byName" xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
	xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
		http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
		http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">

	<bean id="soapExceptionAOP" class="com.yododo.hotel.fds2.aop.impl.SoapExceptionAOPImpl"></bean>

	<aop:config>
		<aop:aspect ref="soapExceptionAOP">

			<aop:pointcut id="soapExceptionService"
				expression="execution(* com.yododo.hotel.fds2.ydd.service..*ServiceImpl.*(..))"/>
            
			<aop:after-throwing pointcut-ref="soapExceptionService"
				method="soapExceptionAOP" />//after-throwing 当拦截到的操作抛出异常后

		</aop:aspect>
	</aop:config>


</beans>

java 部分

public class SoapExceptionAOPImpl implements SoapExceptionAOP {
    /**
     * Logger for this class
     */

    @Override
    public Object soapExceptionAOP() throws Throwable {
        throw new FDSException("soap.connection.error");
    }
    
}

猜你喜欢

转载自yangjayup.iteye.com/blog/1884547