博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring学习(22)--- AOP之Advice应用(下)
阅读量:6308 次
发布时间:2019-06-22

本文共 2400 字,大约阅读时间需要 8 分钟。

(六)Advice parameters(advice带参数的情况)

例子:

修改MyAspect(添加around_init方法):

package com.aop.schema;import org.aspectj.lang.ProceedingJoinPoint;/**** 切面类**/public class MyAspect {	public void before(){		System.out.println("MyAspect.before");	}		public void afterreturning(){		System.out.println("MyAspect.afterreturning");	}		public void afterthrowing(){		System.out.println("MyAspect.afterthrowing");	}		public void after(){		System.out.println("MyAspect.after");	}		public void around(ProceedingJoinPoint pjp) {		try {			System.out.println("MyAspect.around_1");			Object obj=pjp.proceed();			System.out.println("MyAspect.around_2");		} catch (Throwable e) {			e.printStackTrace();		}	}		public void around_init(ProceedingJoinPoint pjp,String name,int age) {		System.out.println(name+"  "+age);		try {			System.out.println("MyAspect.around_1");			Object obj=pjp.proceed();			System.out.println("MyAspect.around_2");		} catch (Throwable e) {			e.printStackTrace();		}	}}

修改ApsectBiz类(添加init方法):

package com.aop.schema;/**** 业务类**/public class ApsectBiz {	public void biz(){		System.out.println("ApsectBiz.biz");		//throw new RuntimeException();  //故意抛出异常	}		public void init(String name,int age){		System.out.println("ApsectBiz.init : "+ name +"  " +age);	}}

XML配置:

单元测试:

package com.aop.schema;import org.junit.Test;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class UnitTest {	@Test	public void test(){		ApplicationContext context = new ClassPathXmlApplicationContext("classpath:spring-aop.xml");		ApsectBiz biz = (ApsectBiz)context.getBean("apsectBiz");		biz.init("Json",25);	}}

结果:

七月 09, 2015 11:48:42 下午 org.springframework.context.support.AbstractApplicationContext prepareRefreshINFO: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@118e0f0f: startup date [Thu Jul 09 23:48:42 CST 2015]; root of context hierarchy七月 09, 2015 11:48:42 下午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitionsINFO: Loading XML bean definitions from class path resource [spring-aop.xml]Json  25MyAspect.around_1ApsectBiz.init : Json  25MyAspect.around_2

 

转载于:https://www.cnblogs.com/JsonShare/p/4634535.html

你可能感兴趣的文章
分享10款漂亮实用的CSS3按钮
查看>>
安装nginx 常见错误及 解决方法
查看>>
Gorun8电子商城
查看>>
在之前链表的基础上改良的链表
查看>>
android编译系统makefile(Android.mk)写法
查看>>
MD5源代码C++
查看>>
Eclipse 添加 Ibator
查看>>
Linux中变量$#,$@,$0,$1,$2,$*,$$,$?的含义
查看>>
Python编程语言
查看>>
十四、转到 linux
查看>>
Got error 241 'Invalid schema
查看>>
ReferenceError: event is not defined
查看>>
男人要内在美,更要外在美
查看>>
为什么要跟别人比?
查看>>
app启动白屏
查看>>
Oracle 提高查询性能(基础)
查看>>
学习知识应该像织网一样去学习——“网状学习法”
查看>>
Hadoop集群完全分布式安装
查看>>
QString,char,string之间赋值
查看>>
我的友情链接
查看>>