复制依赖和改jar包方式

src下的都复制过来。

复制到新项目里了

bean.xml里面复制上面一行代码到下面。把aop改成context。

配置spring容器创建时要扫描的包


Service的配置这里就可以删除了

配置注解

使用@Service注解

开始AOP配置

把通知类交给Spring来管理


在Logger上加注解。之类注意,@Service和@Repository都不合适。因为logger属于三层

所以这里用@Component这个注解来配置

写完上面的@Component的注解后。bean.cml内的配置就可以删除了

配置切面类


注意Before这里是aspectj这个包里的,不要和JUnit的混了。



环绕通知

写完这些通知的注解就报错。因为没有切入点表达式

这是我们之前的bean.xml内配置的切入点表达式

新定义的私有方法pt1在pt1的上面定义的切入点表达式和注解

beam.xml内这些就都可以删除了

开启Spring开启注解AOP的支持

引用注解表达式



这里测试前面四个通知的时候,先把环绕通知注释掉

测试


后置居然在最终的前面了

我们都知道 后置通知和异常是互斥的。这里把异常放开

后置通知消失了 变成了异常通知

Spring基于注解的,这四个通知确实有调用的顺序问题,所以我们在开发中,要有一个慎重的考虑

环绕通知放开,其他通知都注释掉

通知都注释掉

环绕通知没有这个问题。这个也好理解,因为代码是我们自己写的 想让他什么时候执行,就什么时候执行

把异常放开的执行效果

如果用注解的话,更建议用环绕通知,因为注解在调用的通知顺序上有问题

总结

注解的配置确实比较简单。因为bean.xml配置就剩下这两行了

切入点的配置也很规范

演示下括号的问题

只写了方法名 ,没写后面的括号

这里其实已经提示报错了

运行就会报错。

不使用xml配置的方法

讲义的最后

转载于:https://www.cnblogs.com/wangjunwei/p/11359708.html

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

  1. java spring 面向切面编程_Spring Boot实战系列(3)AOP面向切面编程

    AOP是一种与语言无关的程序思想.编程范式.项目业务逻辑中,将通用的模块以水平切割的方式进行分离统一处理,常用于日志.权限控制.异常处理等业务中. 快速导航 编程范式主要以下几大类 AOP(Aspec ...

  2. Spring —— 基于注解的Aop在同一类下产生嵌套时切面不生效问题产生原因及解决

    一.背景介绍 由于程序中大量方法需要监控执行耗时,因此写了基于注解的Aop类来减少重复代码,主要作用是通过环绕通知在方法执行前后进行耗时计算,最后输出到日志/监控. 相关代码如下: // 注解 @Re ...

  3. Spring-学习笔记08【面向切面编程AOP】

    Java后端 学习路线 笔记汇总表[黑马程序员] Spring-学习笔记01[Spring框架简介][day01] Spring-学习笔记02[程序间耦合] Spring-学习笔记03[Spring的 ...

  4. 【Spring】面向切面编程AOP

    AOP基础 什么是AOP [废话解释]在软件业,AOP全称Aspect Oriented Programming 即:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术.AO ...

  5. AOP (面向切面编程)

    AOP (面向切面编程) 编辑 在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术.AO ...

  6. Spring AOP——Spring 中面向切面编程

    前面两篇文章记录了 Spring IOC 的相关知识,本文记录 Spring 中的另一特性 AOP 相关知识. 部分参考资料: <Spring实战(第4版)> <轻量级 JavaEE ...

  7. Spring AOP 面向切面编程相关注解

    Aspect Oriented Programming 面向切面编程 在Spring中使用这些面向切面相关的注解可以结合使用aspectJ,aspectJ是专门搞动态代理技术的,所以比较专业. 需要在 ...

  8. Spring(4)——面向切面编程(AOP模块)

    Spring AOP 简介 如果说 IoC 是 Spring 的核心,那么面向切面编程就是 Spring 最为重要的功能之一了,在数据库事务中切面编程被广泛使用. AOP 即 Aspect Orien ...

  9. WebApi client 的面向切面编程

    .Net的面向切面编程 .Net的服务端应用AOP很常见,在Asp.net MVC与Asp.net WebApi等新框架里到处都有AOP的影子,我们可以把一个服务方法"切"为很多面 ...

  10. python aop编程_学习笔记: AOP面向切面编程和C#多种实现

    AOP:面向切面编程   编程思想 OOP:一切皆对象,对象交互组成功能,功能叠加组成模块,模块叠加组成系统 类--砖头     系统--房子 类--细胞     系统--人 面向对象是非常适合做大型 ...

最新文章

  1. Spring第二讲--利用组件注解符精简Spring配置文件
  2. linux vim编辑器的用法
  3. 使用IntelliJ调试Java流
  4. Python+sklearn训练结果保存与加载(以垃圾邮件分类为例)
  5. asp.net关于页面不回发,不生成__doPostBack方法问题的完美解决方案--ZT
  6. 一些推荐的深度学习、机器学习资料
  7. 推荐系统思维导图——第一章
  8. MyBatis之使用XML配置SQL映射(一)
  9. s3c2440的pwm输出
  10. 手写curry函数,实现函数柯里化
  11. 刘元普双生贵子(但行好事,莫问前程)
  12. 写给安徽合肥高三的你——少年不惧岁月长,敢挽桑弓射玉衡
  13. 树美滑块验证——滑块识别、获取和提交参数一条龙分析和调用
  14. 帕克西AR一键换发型,让你秒变潮人!
  15. 计算机没有音频驱动程序,电脑有驱动却没有高清晰音频管理器华硕主板应该装什么声卡驱动...
  16. FRM1 P1B1P1B2 整理笔记
  17. docker 根据镜像名称查找容器并删除
  18. 自己建服务器 语音盒子_自建语音服务器
  19. 在使用Repeater、DataList 或 DataGrid 的模板列表时,根据不同状态,显示不同颜色
  20. 国标解读|从关键信息基础设施安全国标看软件供应链安全

热门文章

  1. 梁友栋-Barsky算法
  2. 拓端tecdat|【视频】Lasso回归、岭回归等正则化回归数学原理及R语言实例
  3. 拓端tecdat|R语言多变量广义正交GARCH(GO-GARCH)模型对股市高维波动率时间序列拟合预测
  4. 拓端tecdat:R语言STAN贝叶斯线性回归模型分析气候变化影响北半球海冰范围和可视化检查模型收敛性
  5. 拓端tecdat|R语言基于树的方法:决策树,随机森林,Bagging,增强树
  6. 拓端tecdat|R语言中编写最小工作示例(MWRE)
  7. smale学习之数学表达式(day4)
  8. 2018谷歌学术影响因子发布:CVPR排名泛AI领域第一
  9. caffe中 solver.prototxt文件
  10. Cython基础--Cython入门