使用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(最终增强)相关推荐

  1. python 定义函数方法_Python定义一个函数的方法

    Python函数的定义 定义函数,也就是创建一个函数,可以理解为创建一个具有某些用途的工具.定义函数需要用 def 关键字实现,具体的语法格式如下: def 函数名(形参列表): //由零条到多条可执 ...

  2. 定义一个包含十个元素的数组

    ##1.定义一个包含十个元素的数组.数组元素自己给出 2.遍历打印出数组元素 3.求出数组当中的最小值打印出来 4.求出数组当中的最大值打印出来 `public static void main(St ...

  3. python怎么定义一个函数_Python定义一个函数的方法

    Python函数的定义 定义函数,也就是创建一个函数,可以理解为创建一个具有某些用途的工具.定义函数需要用 def 关键字实现,具体的语法格式如下: def 函数名(形参列表): //由零条到多条可执 ...

  4. C语言定义一个结构体方法,C语言结构体定义的方法汇总

    什么是结构体? 在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类.结构体可以被声明为变量.指针或数组等,用以实现较复杂的数据 ...

  5. 类的继承定义一个computer类在此基础上派生出两个子类(继承与多态绑定)

    题目如下 定义一个计算机类(Computer),并在它的基础上派生出两个子类:台上机(Desktop)和便携机类(Notebook),在Computer中定义几个方法,并在子类Desktop和Note ...

  6. python定义一个dog类 类属性有名字毛色体重_全面了解python中的类,对象,方法,属性...

    python中一切皆为对象,所谓对象:我自己就是一个对象,我玩的电脑就是对象,坐着的椅子就是对象,家里养的小狗也是一个对象...... 我们通过描述属性(特征)和行为来描述一个对象的.比如家里的小狗, ...

  7. 基于图像的数据增强方法发展现状综述

    基于图像的数据增强方法发展现状综述 人工智能技术与咨询 2022-03-22 20:57 点击蓝字 · 关注我们 来源:< 计算机科学与应用> ,作者冯晓硕等 关键词: 数据增强:图像数据 ...

  8. python如何对一个属性或方法进行封装_python 类、对象、方法、属性

    在python中,一个对象的特征也称为属性(attribute).它所具有的行为也称为方法(method) 结论:对象=属性+方法 在python中,把具有相同属性和方法的对象归为一个类(class) ...

  9. NLP数据增强方法总结:EDA、BT、MixMatch、UDA

    1. 数据增强的背景和应用场景 随着AI技术的逐步发展,更好的神经网络模型对数据规模的要求也逐步提升.而在分类任务中,若不同类别数据量相差很大,模型则会出现过拟合现象,严重影响预测的正确性. 从广义上 ...

最新文章

  1. 视频色彩校正简介 Introduction to Video Color Correction
  2. oralce group by字符串拼接
  3. 专题:区块链与数据共享(上)
  4. 2005年博客发展十大悬疑
  5. poj 1502 MAPMaelstrom 单源最短路dijkstra
  6. 通过C#+AJAX实现倒计时
  7. css中的一些选择器的用法总结
  8. Editplus破解
  9. 十分钟带你解读Effective C++(导读)
  10. 汉语计算机语言,从计算机编程语言说汉语的比较优势
  11. RK3328启动失败解决记录
  12. Python极简实现IoU
  13. 关于webpack5打包图片不报错但是也不显示问题
  14. 联调QuartersII + ModelSim(下载安装)
  15. 比尔盖茨的十大经典人生定律
  16. Elasticsearch基础
  17. yuyv_to_yv12
  18. 春运动车组穿越在祁连山兰新高铁线上
  19. C++游戏服务器开发视频教程
  20. 简单得压缩包密码解密

热门文章

  1. Nginx 笔记与总结(11)Nginx + php-fpm + MySQL 安装 ecshop
  2. 无空头的链表代码:学生管理系统
  3. 4/7 SELECT语句:过滤(组合WHERE子句)
  4. PHP 入门 - 5.数组
  5. Linux 关闭桌面方法
  6. keras_14_初始化Initializers
  7. c++ const static
  8. Centos 7 KVM安装win10
  9. 题解:一些递推的题。
  10. 浏览器API location