学习 spring (十五) advisor(spring教程 csdn)-pg电子平台

大家好!今天让小编来大家介绍下关于学习 spring (十五) advisor的问题,以下是酷知号的小编对此问题的归纳整理,让我们一起来看看吧。

spring入门篇 学习笔记

advisor 就像一个小的自包含的方面,只有一个 advice

自身通过一个 bean 表示,并且必须实现某个 advice 接口,同时 advisor 也可以很好的利用 aspectj 的切入点表达式

spring 通过配置文件中 aop:advisor 元素支持 advisor,实际使用中,大多数情况下它会和 transactional advice 配合使用

为了定义一个 advisor 的优先级以便让 advice 可以有序,可以使用 order 属性来定义 advisor 的顺序

添加切面:

public class concurrentoperationexecutor implements ordered {
	private static final int default_max_retries = 2;
	private int maxretries = default_max_retries;
	
	private int order = 1;
	public void setmaxretries(int maxretries) {
		this.maxretries = maxretries;
	}
	public int getorder() {
		return this.order;
	}
	public void setorder(int order) {
		this.order = order;
	}
	public object doconcurrentoperation(proceedingjoinpoint pjp) throws throwable {
		int numattempts = 0;
		pessimisticlockingfailureexception lockfailureexception;
		do {
			numattempts  ;
			system.out.println("try times : "   numattempts);
			try {
				return pjp.proceed();
			} catch (pessimisticlockingfailureexception ex) {
				lockfailureexception = ex;
			}
		} while (numattempts <= this.maxretries);
		system.out.println("try error : "   numattempts);
		throw lockfailureexception;
	}
}

添加类:

@service
public class invokeservice {
	
	public void invoke() {
		system.out.println("invokeservice ......");
	}
	
	public void invokeexception() {
		throw new pessimisticlockingfailureexception("");
	}
}

添加配置:



	
	
		
			
			
		
	
	
	
		
		
	
 

添加测试类:

@runwith(blockjunit4classrunner.class)
public class testaopschemaadvisors extends unittestbase {
	
	public testaopschemaadvisors() {
		super("classpath:spring-aop-schema-advisors.xml");
	}
	
	@test
	public void testse() {
		invokeservice service = super.getbean("invokeservice");
		service.invoke();
		
		system.out.println();
		service.invokeexception();
 	}
}

以上就是小编对于学习 spring (十五) advisor问题和相关问题的解答了,学习 spring (十五) advisor的问题希望对你有用!

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文链接:https://www.andon8.com/419117.html

网站地图