Spring学习总结之面向切面(AOP)
2024-09-02 21:46:12
- AOP术语
通知(advice):定义切面是什么以及什么时候使用
连接点(join point):应用在执行过程中能够插入切面的点
切点(pointcut):切点的定义会匹配通知所要织入的一个或多个连接点
切面(aspect):通知和切点的结合
引入(introduction):允许我们向现有的类添加新方法或属性
织入(weaving):把切面应用到目标对象并创建新的代理对象的过程
- Spring使用AspectJ注解来声明通知方法
@After:通知方法会在目标方法返回或抛出异常后调用
@AfterReturning:通知方法会在目标方法返回后调用
@AfterThrowing:通知方法会在目标方法抛出异常后调用
@Around:通知方法会将目标方法封装起来
@Before:通知方法会在目标方法调用之前执行
注解使用在切面方法之前,比如:
@Before(“execution(xxx)”)
public void sayHello() {}
此时表示,在xxx方法执行之前,执行切面方法sayHello
- pointcut配置如下:
@Pointcut(“execution(* xxxx)”)
public void xxMethod() {}
@Before(“xxMethod()”)
作用:不用每次都写execution,简化了代码,xxMethod只是一个空方法
- 使用XML文件配置
<aop:config> <aop:aspect ref="aspectClass"> <aop:pointcut id="p_name" expression="execution(xxx)" /> <aop:before pointcut-ref="p_name" method="xxMethod" /> </aop:aspect> </aop:config>
aspectClass表示切面类的bean ID,xxMethod表示用在切面上的方法(通知)
最新文章
- 新作《ASP.NET Web API 2框架揭秘》正式出版
- 1、Linux驱动重要的数据结构
- apache配置文件参数优化
- Alwayson--SYS.dm_hadr_instance_node_map 返回0行
- HDU 2609 最小表示法
- 前端相关js
- 161214、oracle查询表信息
- [ShortCut] IE10快捷键
- 116. Populating Next Right Pointers in Each Node
- 监控tomcat性能
- C++ Primer--虚函数与纯虚函数的区别
- Python编程中常用的12种基础知识总结
- JQuery基础知识(1)
- [Bayesian] “我是bayesian我怕谁”系列 - Variational Autoencoders
- SpringBoot实现全文搜索
- spring boot中jsp解析c标签方法
- Python基础听课笔记
- binlog2sql使用总结
- 铁乐学python_Day39_多进程和multiprocess模块2
- Ubuntu下tensorboard的使用
热门文章
- 用JS制作《飞机大作战》游戏_第1讲(素材查找和界面框架搭建)-陈远波
- MySql详解(一)
- 【洛谷P3410】拍照题解(最大权闭合子图总结)
- php api接口安全设计 sign理论
- 深入C#学习系列一:序列化(Serialize)、反序列化(Deserialize)
- UART, SPI, IIC的详解及三者的区别和联系
- JAVA springmvc 转换器
- Python 函数(三)
- $\mathcal{Friends&#39; \ \ Links}$友情链接
- Java 将任意数组的任意两个位置的数据进行交换