Spring AOP实现方法二——xml配置

这种加载方式,主要是靠xml文件的配置。

1.普通类

public class CalculatorAnno {
	public int add(int i,int j){
		int result = i +j;
		return result;
	}
	public int mil(int i,int j){
		int result = i - j;
		return result;
	}
	public int mul(int i,int j){
		int result = i*j;
		return result;
	}
	public int div(int i,int j){
		int result = i/j;
		return result;
	}
}

2.Aspect的类

public class CalculatorAspect {
	



	public void logbefor(JoinPoint joinpoint){
		Object[] arr=joinpoint.getArgs();
		System.out.println("befor the method "+joinpoint.getSignature().getName()+" calculating....."+Arrays.asList(arr));
	}

	public void logafter(){
		System.out.println("after calculating....");
	}

	

3.xml的配置

<bean id="calculator" class="spring.aop.xml.CalculatorAnno">
</bean>
<bean id="calAspect" class="spring.aop.xml.CalculatorAspect">
</bean>
<aop:config>
	<aop:aspect id="calAspect" ref="calAspect">
	   <aop:pointcut expression="execution(* spring.aop.xml.CalculatorAnno.*(..))" id="CApintcut"/>
		<aop:before method="logbefor" pointcut-ref="CApintcut"/>
		<aop:after method="logafter" pointcut-ref="CApintcut"/>
		<aop:after-throwing method="logexception" throwing="e" pointcut-ref ="CApintcut"/>
		<aop:after-returning method="logresult" returning="result" pointcut-ref="CApintcut"/>
	</aop:aspect>
</aop:config>
发布了14 篇原创文章 · 获赞 0 · 访问量 4181

猜你喜欢

转载自blog.csdn.net/sky892012/article/details/104417983