AOP后置通知

package com.gqc.aop02;
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    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">

		<!-- 注册目标对象 -->
		<bean id="someService" class="com.gqc.aop02.SomeServiceImpl"/>
	
		<!-- 注册切面:后置通知 -->
		<bean id="myAdvice" class="com.gqc.aop02.MyAfterReturningAdvice"/>
		
		<!-- 生成代理对象 -->
		<bean id="serviceProxy" class="org.springframework.aop.framework.ProxyFactoryBean">
			<!-- 指定目标对象 -->
			<property name="target" ref="someService"/>
			<!-- <property name="targetName" value="someService"/> -->
			<!-- 指定切面 -->
			<property name="interceptorNames" value="myAdvice"/>
		</bean>
				
</beans>

import java.lang.reflect.Method;import org.springframework.aop.AfterReturningAdvice;//后置通知可以获取到目标方法的返回结果 但无法改变目标方法的返回值public class MyAfterReturningAdvice implements AfterReturningAdvice {//在目标方法执行之后执行//returnValue:目标方法的返回值@Overridepublic void afterReturning(Object returnValue, Method method,Object[] args, Object target) throws Throwable {System.out.println("执行后置通知方法 returnValue:"+returnValue);if(returnValue!=null){returnValue=((String)returnValue).toUpperCase();}}}
 
 



猜你喜欢

转载自blog.csdn.net/Aseveng/article/details/79072697
今日推荐