spring_AOP
理解AOP
AOP为Aspect Oriented Programming的缩写,意为:面向切面编程。大概意思就是在原有源代码的基础上,增加功能,而又不修改原有的代码。
术语
切面(Aspect):进行增加处理的类,比如对一功能增加日志管理操作,定义的日志类便是一个切面。
连接点(Joinpoint):明确的切入点,如com.xyz.myapp.SystemArchitecture.dataAccessOperation()
切入点(Pointcut):可以看成是连Joinpoint的集合,如@Pointcut("execution(public * com.bjsxt.service..*.add(..))")
增强处理(Advice):如Around,Before,After,AfterReturning,AfterThrowing
增强处理
Around:在切入点方法运行时先运行增强处理方法,在切入点方法运行结束后再运行增强处理方法。@Around("execution(* org.crazyit.app.service.impl.*.*(..))")
Before:在切入点主法运行时先运行增强处理方法,@Before("execution(* org.crazyit.app.service.impl.*.*(..))")
After:在切入点方法运行结束后再运行增强处理方法(不管目标方法如何结束(包知成功完成和遇到异常中止两种情况),都会被织入。@After("execution(* org.crazyit.app.service.*.*(..))"
AfterReturning:在切入点方法运行结束后再运行增强处理方法(只有在目标方法成功完成后才会被织入)。如下所示:
@AfterReturning(returning="rvt",pointcut="execution(* org.crazyit.app.service.impl.*.*(..))")
public void log(Object rvt){
System.out.println("获取目标方法返回值:"+rvt);
System.out.println("模拟记录日志功能...");
}
AfterThrowing:在抛出异常时织入。
AOP的annotation与xml
spring_AOP的更多相关文章
- Spring_Aop的xml和注解的使用
动态代理: 目的:在不改变源代码的情况下,对方法进行增强! 动态代理又分为两种: 1.第一个就是基于接口的动态代理,他是由jdk提供的 2.基于子类的动态代理:cgli ...
- Jeecg中通过Spring_AOP+注解方式实现日志的管理
转载;https://blog.csdn.net/ma451152002/article/details/77234236 Jeecg中通过Spring_AOP+注解方式实现日志的管理 一.设计思路 ...
- Spring_AOP 记录系统关键操作日志用法
问题: 系统需要记录用户的关键操作日志,以便后期的系统维护,方便的查看问题,及时排除 分析: (1)保存字段:作为一个日志记录功能,首先数据库新建一张表保存用户的操作关键字段, 用户名,ip,操作描述 ...
- Spring_AOP 实现原理与 CGLIB 应用
转自:https://www.ibm.com/developerworks/cn/java/j-lo-springaopcglib/index.html AOP(Aspect Orient Progr ...
- Spring_AOP动态代理详解(转)
在学习Spring的时候,我们知道Spring主要有两大思想,一个是IoC,另一个就是AOP,对于IoC,依赖注入就不用多说了,而对于Spring的核心AOP来说,我们不但要知道怎么通过AOP来满足的 ...
- Spring_AOP基于AspectJ的注解开发&JDBC的模板使用&事务管理(学习笔记3)
一:AOP基于AspectJ的注解开发 1,简单的实例: 1)引入相应的jar包 2)在配置文件里引入相关约束 <beans xmlns="http://www.springfra ...
- spring_AOP的注解开发
logger日志类: package cn.mepu.utils; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.la ...
- Spring_Aop基于配置文件
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- springAop:Aop(Xml)配置,Aop注解配置,spring_Aop综合案例,Aop底层原理分析
知识点梳理 课堂讲义 0)回顾Spring体系结构 Spring的两个核心:IoC和AOP 1)AOP简介 1.1)OOP开发思路 OOP规定程序开发以类为模型,一切围绕对象进行,OOP中完成某个任务 ...
随机推荐
- Confluence 6 导入一个文本文件
Confluence 允许你从 Confluence 服务器上的一个目录中导入一个文本文件,然后将这个文本文件转换为 Confluence 的页面.每一个文本文件将会在 Confluence 中创建一 ...
- PHP 抽象类、接口,traint详解
PHP底层实现(http://blog.jobbole.com/94475/) 一,抽象类:abstract abstract class HeHe{ public $age=18;//可以定义属性 ...
- nginx常用命令及简单配置
nginx常用命令 nginx -c /usr/local/nginx/conf/nginx.conf 启动nginx(windows下start nginx); nginx -s quit 停止ng ...
- 编辑后保留原URl搜索条件
首先需要知道的一个知识点: 1.request.GET是一个QueryDict类型的,要想取出?后面的结构就用request.GET.urlencode() 2.request.GET默认是不可修改的 ...
- 【linux】复制文件夹中文件,排除部分文件
如下 cp `ls|grep -v -E '*json|out'|xargs` /home/data/ 用grep -v 表示排除, -E 表示正则 ls|grep -v -E '*json|out ...
- Python全栈习题一
1.执行 Python 脚本的两种方式 a../run.py 直接在命令行调用python脚本: b.python run.py 调用python解释器来调用Python脚本. 2.简述位.字节的关 ...
- 《剑指offer》 链表中倒数第k个节点
本题来自<剑指offer> 链表中倒数第k个节点 题目: 输入一个链表,输出该链表中倒数第k个结点. 思路: 倒数第k个节点,而且只能访问一遍链表,定义两个节点,两者之间相差k个距离,遍历 ...
- Mesh无线网络的定义与WiFi的区别
Mesh无线网络的定义与WiFi的区别 无线Mesh网络(无线网状网络)也称为「多跳(multi-hop)」网络,它是一种与传统无线网络完全不同的新型无线网络技术.无线网状网是一种基于多跳路由,对等网 ...
- python----常用功能
sintance和type class Foo(object): pass class Bar(Foo): pass obj = Bar() # isinstance用于判断,对象是否是指定类的实例 ...
- hdu2121 最小树形图的虚根
/* 最小树形图的第二题,终于有了一些理解 具体看注释 */ /* 无定根的最小树形图 建立虚root 每次只找最短的那条入边 最小树形图理解: 第一步:寻找最短弧集E:扫一遍所有的边,找到每个点权值 ...