写测试类来测试。。也不需要整合JUnit了就是个普通的测试类。

我们要看就是有没有给我们真正的实现 记录日志

配置起作用了。

三个方法都调用一下

目前我们的配置只能对saveAccount增强


通常情况下 我是对业务层所有的方法添加增强,尤其是在事务控制时

切点表达式的写法

访问修饰符可以省略


运行测试。没有问题

返回值可以使用通配符,表示任意返回值

这里也就是void 用*代替了。

包名可以使用通配符


包名可以使用..


任意包下只有有AccountServiceImpl类 里面的方法saveAccount方法都会被增强

类名和方法名都可以使用*来实现通配


先把类名改成*

AccountServiceImpl这个类名改成了*


把方法名也改成了*。表示没有参数的方法都被增强了。


保存和删除都被增强了

参数列表


这里参数写上int类型

只有一个方法参数是int的

参数写个*。表示有参数就可以


参数改成..点点

这样是哪个方法全部被增强

实际开发中的写法

在实际的开发中不要写上这种全统配的方式,这种方式有个很大的问题,当你的程序在执行的时候,所有类的方法都满足这个条件。你的增强代码被这些方法都执行了一次。这显然不是我们想要的

通常的写法

aspectj

aspectj是语言的软件联盟。负责给我解析切入点表达式

阶段3 2.Spring_08.面向切面编程 AOP_5 切入点表达式的写法的更多相关文章

  1. 阶段3 2.Spring_08.面向切面编程 AOP_9 spring基于注解的AOP配置

    复制依赖和改jar包方式 src下的都复制过来. 复制到新项目里了 bean.xml里面复制上面一行代码到下面.把aop改成context. 配置spring容器创建时要扫描的包 Service的配置 ...

  2. 阶段3 2.Spring_08.面向切面编程 AOP_7 通用化切入点表达式

    下面配置了通用的表达式,,上面的四个就不用再配置那么长 索罗的切入点表达式了. 节省了每次都要写一长段表达式的过程 写在一个aop:aspect这个切面下面就只能当前切面用 写在切面里面 运行测试 挪 ...

  3. 阶段3 2.Spring_08.面向切面编程 AOP_2 spring中的aop术语和细节

    基于接口的动态代理要求,要去被代理对象最少实现一个接口 基于子类的动态代理没有实现接口的要求.但是要求我们的被代理类不能是最终类 在Spring中可以选择基于接口还是子类的动态代理 术语 大白话.业务 ...

  4. 阶段3 2.Spring_08.面向切面编程 AOP_10 总结和作业安排

    由转账添加事物,使得我们的操作变的非常麻烦.重复代码产生了很多 实际的开发中如果想记录日志每个方法都要执行 如果判断用户是否登陆也是每个方法都需要判断 这些重复的代码我们都需要去解决. 解决的方式,以 ...

  5. 阶段3 2.Spring_08.面向切面编程 AOP_8 spring中的环绕通知

    环绕通知.method属性需要新加一个方法 在logger内中新加aroundPringLog方法 异常代码先注释掉 对比现在的环绕通知和之前写代理类做的环绕通知.右侧的方法内有明确的业务层方法(切入 ...

  6. 阶段3 2.Spring_08.面向切面编程 AOP_6 四种常用通知类型

    新建项目 复制上节课的pom.xml内的代码 复制java下的代码 测试类也复制过来 配置文件也拷贝过来 logge下增加几个方法 测试方法只需要一个saveAccount方法就可以了 增加其他三种通 ...

  7. 阶段3 2.Spring_08.面向切面编程 AOP_4 spring基于XML的AOP-配置步骤

    resources下新建bean.xml文件 xmlns:aop 先配置IOC aop 通知类就是logger.id配置为logAdvice表示日志的通知 梳理流程 首先我们在这有个Service它需 ...

  8. 阶段3 2.Spring_08.面向切面编程 AOP_3 spring基于XML的AOP-编写必要的代码

    新建项目 先改打包方式 导包,就先导入这俩包的坐标 aspectjweaver为了解析切入点表达式 新建业务层接口 定义三个方法 看返回和参数的区别.为了把这三类方法表现出来,并不局限于方法干什么事 ...

  9. 阶段3 2.Spring_08.面向切面编程 AOP_1 AOP的概念

随机推荐

  1. 基于linux与busybox的reboot命令流程分析

    http://www.xuebuyuan.com/736763.html 基于Linux与Busybox的Reboot命令流程分析 ********************************** ...

  2. linux上安装rz和sz

    简介 lrzsz 官网入口:http://freecode.com/projects/lrzsz/ lrzsz是一个unix通信套件提供的X,Y,和ZModem文件传输协议 windows 需要向ce ...

  3. linux内核配置与编译

    配置内核:配置硬件和软件需的部分. make config:基于文本模式的交互式配置.(一问一答) make menuconfig:基于文本模式菜单性配置.(直观简单高效) <*>会产生b ...

  4. java基础笔试题一

    1.Vector和ArrayList的区别 答:Vector的方法都是同步的(Synchronized),是线程安全的(thread-safe),而ArrayList的方法不是,由于线程的同步必然要影 ...

  5. 为了保护dll这么做吗?

    生成dll时候 附带生成的lib文件

  6. Lambda学习总结(二)--Stream流

    一.Stream 流 1.1 概念 官方解释:可以支持顺序和并行对元素操作的元素集合. 简单来讲,Stream 就是 JDK8 提供给我们的对于元素集合统一.快速.并行操作的一种方式. 它能充分运用多 ...

  7. keep-alive实现返回保留筛选条件及筛选结果

    实现页面返回时,保留筛选条件和筛选结果 说明 . keep-alive 是Vue的内置组件,能在组件切换过程中将状态保留在内存中,防止重复渲染DOM 实现 结合router实现部分页面缓存 模板应用 ...

  8. RocketMQ和Kafka的差异对比

    Broker差异 主从差异: kafka的master/slave是基于partition维度的,而rocketmq是基于broker维度的:kafka的master/slave是可以切换的,而roc ...

  9. JAVA笔记4-static关键字

    1.static方法中不能使用this关键字 2.例题:static成员变量用于计数     

  10. Python前端HTML

    一.web标准介绍 web标准: w3c:万维网联盟组织,用来制定web标准的机构(组织) web标准:制作网页遵循的规范 web标准规范的分类:结构标准.表现标准.行为标准. 结构:html.表示: ...