当前位置: 首页>>代码示例>>Java>>正文


Java StaticMethodMatcherPointcutAdvisor类代码示例

本文整理汇总了Java中org.springframework.aop.support.StaticMethodMatcherPointcutAdvisor的典型用法代码示例。如果您正苦于以下问题:Java StaticMethodMatcherPointcutAdvisor类的具体用法?Java StaticMethodMatcherPointcutAdvisor怎么用?Java StaticMethodMatcherPointcutAdvisor使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


StaticMethodMatcherPointcutAdvisor类属于org.springframework.aop.support包,在下文中一共展示了StaticMethodMatcherPointcutAdvisor类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: controllersAdvisor

import org.springframework.aop.support.StaticMethodMatcherPointcutAdvisor; //导入依赖的package包/类
/**
 * @return customizableTraceInterceptor sur les méthodes public des classes du package controllers
 */
@Bean
public Advisor controllersAdvisor() {
	return new StaticMethodMatcherPointcutAdvisor(customizableTraceInterceptor()) {

		/**serialVersionUID**/
		private static final long serialVersionUID = 7956297913037928802L;

		@Override
		public boolean matches(Method method, Class<?> clazz) {
			return Modifier.isPublic(method.getModifiers()) && clazz.getPackage() != null && clazz.getPackage().getName().startsWith(UserController.class.getPackage().getName());
		}
	};
}
 
开发者ID:EsupPortail,项目名称:esup-ecandidat,代码行数:17,代码来源:TraceFullConfig.java

示例2: viewsEnterAdvisor

import org.springframework.aop.support.StaticMethodMatcherPointcutAdvisor; //导入依赖的package包/类
/**
 * @return customizableTraceInterceptor sur les méthodes enter des vues
 */
@Bean
public Advisor viewsEnterAdvisor() {
	return new StaticMethodMatcherPointcutAdvisor(customizableTraceInterceptor()) {

		/**serialVersionUID**/
		private static final long serialVersionUID = 3484525172356507679L;

		@Override
		public boolean matches(Method method, Class<?> clazz) {
			return clazz.isAnnotationPresent(SpringView.class) && "enter".equals(method.getName());
		}
	};
}
 
开发者ID:EsupPortail,项目名称:esup-ecandidat,代码行数:17,代码来源:TraceFullConfig.java

示例3: controllersAdvisor

import org.springframework.aop.support.StaticMethodMatcherPointcutAdvisor; //导入依赖的package包/类
/**
 * @return customizableTraceInterceptor sur les méthodes public des classes du package controllers
 */
@Bean
public Advisor controllersAdvisor() {
	return new StaticMethodMatcherPointcutAdvisor(customizableTraceInterceptor()) {
		
		/**serialVersionUID**/
		private static final long serialVersionUID = -6220123343664238769L;

		@Override
		public boolean matches(Method method, Class<?> clazz) {
			return Modifier.isPublic(method.getModifiers()) && clazz.getPackage() != null && clazz.getPackage().getName().startsWith(UserController.class.getPackage().getName());
		}
	};
}
 
开发者ID:EsupPortail,项目名称:esup-ecandidat,代码行数:17,代码来源:TraceConfig.java

示例4: viewsEnterAdvisor

import org.springframework.aop.support.StaticMethodMatcherPointcutAdvisor; //导入依赖的package包/类
/**
 * @return customizableTraceInterceptor sur les méthodes enter des vues
 */
@Bean
public Advisor viewsEnterAdvisor() {
	return new StaticMethodMatcherPointcutAdvisor(customizableTraceInterceptor()) {
		

		/**serialVersionUID**/
		private static final long serialVersionUID = -1111119064011020300L;

		@Override
		public boolean matches(Method method, Class<?> clazz) {
			return clazz.isAnnotationPresent(SpringView.class) && "enter".equals(method.getName());
		}
	};
}
 
开发者ID:EsupPortail,项目名称:esup-ecandidat,代码行数:18,代码来源:TraceConfig.java

示例5: testCloneInvocationToProceedThreeTimes

import org.springframework.aop.support.StaticMethodMatcherPointcutAdvisor; //导入依赖的package包/类
/**
 * There are times when we want to call proceed() twice.
 * We can do this if we clone the invocation.
 */
@Test
public void testCloneInvocationToProceedThreeTimes() throws Throwable {
	TestBean tb = new TestBean();
	ProxyFactory pc = new ProxyFactory(tb);
	pc.addInterface(ITestBean.class);

	MethodInterceptor twoBirthdayInterceptor = new MethodInterceptor() {
		@Override
		public Object invoke(MethodInvocation mi) throws Throwable {
			// Clone the invocation to proceed three times
			// "The Moor's Last Sigh": this technology can cause premature aging
			MethodInvocation clone1 = ((ReflectiveMethodInvocation) mi).invocableClone();
			MethodInvocation clone2 = ((ReflectiveMethodInvocation) mi).invocableClone();
			clone1.proceed();
			clone2.proceed();
			return mi.proceed();
		}
	};
	@SuppressWarnings("serial")
	StaticMethodMatcherPointcutAdvisor advisor = new StaticMethodMatcherPointcutAdvisor(twoBirthdayInterceptor) {
		@Override
		public boolean matches(Method m, Class<?> targetClass) {
			return "haveBirthday".equals(m.getName());
		}
	};
	pc.addAdvisor(advisor);
	ITestBean it = (ITestBean) createProxy(pc);

	final int age = 20;
	it.setAge(age);
	assertEquals(age, it.getAge());
	// Should return the age before the third, AOP-induced birthday
	assertEquals(age + 2, it.haveBirthday());
	// Return the final age produced by 3 birthdays
	assertEquals(age + 3, it.getAge());
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:41,代码来源:AbstractAopProxyTests.java

示例6: testBeforeAdvisorIsInvoked

import org.springframework.aop.support.StaticMethodMatcherPointcutAdvisor; //导入依赖的package包/类
@Test
public void testBeforeAdvisorIsInvoked() {
	CountingBeforeAdvice cba = new CountingBeforeAdvice();
	@SuppressWarnings("serial")
	Advisor matchesNoArgs = new StaticMethodMatcherPointcutAdvisor(cba) {
		@Override
		public boolean matches(Method m, Class<?> targetClass) {
			return m.getParameterTypes().length == 0;
		}
	};
	TestBean target = new TestBean();
	target.setAge(80);
	ProxyFactory pf = new ProxyFactory(target);
	pf.addAdvice(new NopInterceptor());
	pf.addAdvisor(matchesNoArgs);
	assertEquals("Advisor was added", matchesNoArgs, pf.getAdvisors()[1]);
	ITestBean proxied = (ITestBean) createProxy(pf);
	assertEquals(0, cba.getCalls());
	assertEquals(0, cba.getCalls("getAge"));
	assertEquals(target.getAge(), proxied.getAge());
	assertEquals(1, cba.getCalls());
	assertEquals(1, cba.getCalls("getAge"));
	assertEquals(0, cba.getCalls("setAge"));
	// Won't be advised
	proxied.setAge(26);
	assertEquals(1, cba.getCalls());
	assertEquals(26, proxied.getAge());
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:29,代码来源:AbstractAopProxyTests.java

示例7: testMultiAdvice

import org.springframework.aop.support.StaticMethodMatcherPointcutAdvisor; //导入依赖的package包/类
@Test
public void testMultiAdvice() throws Throwable {
	CountingMultiAdvice cca = new CountingMultiAdvice();
	@SuppressWarnings("serial")
	Advisor matchesNoArgs = new StaticMethodMatcherPointcutAdvisor(cca) {
		@Override
		public boolean matches(Method m, Class<?> targetClass) {
			return m.getParameterTypes().length == 0 || "exceptional".equals(m.getName());
		}
	};
	TestBean target = new TestBean();
	target.setAge(80);
	ProxyFactory pf = new ProxyFactory(target);
	pf.addAdvice(new NopInterceptor());
	pf.addAdvisor(matchesNoArgs);
	assertEquals("Advisor was added", matchesNoArgs, pf.getAdvisors()[1]);
	ITestBean proxied = (ITestBean) createProxy(pf);

	assertEquals(0, cca.getCalls());
	assertEquals(0, cca.getCalls("getAge"));
	assertEquals(target.getAge(), proxied.getAge());
	assertEquals(2, cca.getCalls());
	assertEquals(2, cca.getCalls("getAge"));
	assertEquals(0, cca.getCalls("setAge"));
	// Won't be advised
	proxied.setAge(26);
	assertEquals(2, cca.getCalls());
	assertEquals(26, proxied.getAge());
	assertEquals(4, cca.getCalls());
	try {
		proxied.exceptional(new SpecializedUncheckedException("foo", (SQLException)null));
		fail("Should have thrown CannotGetJdbcConnectionException");
	}
	catch (SpecializedUncheckedException ex) {
		// expected
	}
	assertEquals(6, cca.getCalls());
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:39,代码来源:AbstractAopProxyTests.java


注:本文中的org.springframework.aop.support.StaticMethodMatcherPointcutAdvisor类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。