定义一个包含增强方法的javaBean(最终增强)
使用Schema
1.AroundLogger类
1 //定义一个包含增强方法的javaBean 2 public class AroundLogger{ 3 //注解方式的环绕增强处理 4 private static final Logger log = Logger.getLogger(AroundLogger.class); 5 public Object aroundLogger(ProceedingJoinPoint jp){ 6 log.info("a调用"+jp.getTarget()+"的"+jp.getSignature().getName()+"方法,方法参数是:" 7 +Arrays.toString(jp.getArgs())); 8 try { 9 Object result = jp.proceed();//调用目标方法,获取目标方法的返回值 10 log.info("a调用"+jp.getTarget()+"的"+jp.getSignature().getName()+"方法,方法返回值是:" 11 +result); 12 return result; 13 } catch (Exception e) { 14 log.error(jp.getSignature().getName()+"方法抛出异常"+e); 15 e.printStackTrace(); 16 } catch (Throwable e) { 17 // TODO Auto-generated catch block 18 e.printStackTrace(); 19 } 20 return null; 21 } 22 }
2.spring配置文件
1 <bean id="dao" class="com.dao.impl.IUserDaoImpl"></bean> 2 <bean id="biz" class="com.biz.impl.IUserBizImpl"> 3 <property name="dao" ref="dao"></property> 4 </bean> 5 <!-- 声明增强方法所在的类 --> 6 <bean id="thelogger" class="com.aop.AroundLogger"></bean> 7 <!-- 配置切面 --> 8 <aop:config> 9 <!-- 定义切入点 --> 10 <aop:pointcut expression="execution(* com.biz.IUserBiz.* (..))" id="pointcut"/> 11 <!-- 引入包含增强的bean --> 12 <aop:aspect ref="thelogger"> 13 <!--将aroundLogger方法定义为最终增强并引入切入点 --> 14 <aop:around method="aroundLogger" pointcut-ref="pointcut"/> 15 </aop:aspect> 16 </aop:config>
3.测试类同使用Schema配置切面
4.测试结果
转载于:https://www.cnblogs.com/myhzb/p/7538450.html
定义一个包含增强方法的javaBean(最终增强)相关推荐
- python 定义函数方法_Python定义一个函数的方法
Python函数的定义 定义函数,也就是创建一个函数,可以理解为创建一个具有某些用途的工具.定义函数需要用 def 关键字实现,具体的语法格式如下: def 函数名(形参列表): //由零条到多条可执 ...
- 定义一个包含十个元素的数组
##1.定义一个包含十个元素的数组.数组元素自己给出 2.遍历打印出数组元素 3.求出数组当中的最小值打印出来 4.求出数组当中的最大值打印出来 `public static void main(St ...
- python怎么定义一个函数_Python定义一个函数的方法
Python函数的定义 定义函数,也就是创建一个函数,可以理解为创建一个具有某些用途的工具.定义函数需要用 def 关键字实现,具体的语法格式如下: def 函数名(形参列表): //由零条到多条可执 ...
- C语言定义一个结构体方法,C语言结构体定义的方法汇总
什么是结构体? 在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类.结构体可以被声明为变量.指针或数组等,用以实现较复杂的数据 ...
- 类的继承定义一个computer类在此基础上派生出两个子类(继承与多态绑定)
题目如下 定义一个计算机类(Computer),并在它的基础上派生出两个子类:台上机(Desktop)和便携机类(Notebook),在Computer中定义几个方法,并在子类Desktop和Note ...
- python定义一个dog类 类属性有名字毛色体重_全面了解python中的类,对象,方法,属性...
python中一切皆为对象,所谓对象:我自己就是一个对象,我玩的电脑就是对象,坐着的椅子就是对象,家里养的小狗也是一个对象...... 我们通过描述属性(特征)和行为来描述一个对象的.比如家里的小狗, ...
- 基于图像的数据增强方法发展现状综述
基于图像的数据增强方法发展现状综述 人工智能技术与咨询 2022-03-22 20:57 点击蓝字 · 关注我们 来源:< 计算机科学与应用> ,作者冯晓硕等 关键词: 数据增强:图像数据 ...
- python如何对一个属性或方法进行封装_python 类、对象、方法、属性
在python中,一个对象的特征也称为属性(attribute).它所具有的行为也称为方法(method) 结论:对象=属性+方法 在python中,把具有相同属性和方法的对象归为一个类(class) ...
- NLP数据增强方法总结:EDA、BT、MixMatch、UDA
1. 数据增强的背景和应用场景 随着AI技术的逐步发展,更好的神经网络模型对数据规模的要求也逐步提升.而在分类任务中,若不同类别数据量相差很大,模型则会出现过拟合现象,严重影响预测的正确性. 从广义上 ...
最新文章
- 视频色彩校正简介 Introduction to Video Color Correction
- oralce group by字符串拼接
- 专题:区块链与数据共享(上)
- 2005年博客发展十大悬疑
- poj 1502 MAPMaelstrom 单源最短路dijkstra
- 通过C#+AJAX实现倒计时
- css中的一些选择器的用法总结
- Editplus破解
- 十分钟带你解读Effective C++(导读)
- 汉语计算机语言,从计算机编程语言说汉语的比较优势
- RK3328启动失败解决记录
- Python极简实现IoU
- 关于webpack5打包图片不报错但是也不显示问题
- 联调QuartersII + ModelSim(下载安装)
- 比尔盖茨的十大经典人生定律
- Elasticsearch基础
- yuyv_to_yv12
- 春运动车组穿越在祁连山兰新高铁线上
- C++游戏服务器开发视频教程
- 简单得压缩包密码解密