Spring传统AOP

AOP的增强类型

AOP联盟定义了Advice(org.aopalliance.aop.Interface.Advice)

五类(目标类方法的连接点):

1、  前置通知(org.springframework.aop.MethodBeforeAdvice)-----------执行前增强

2、  后置通知(org.springframework.aop.AfterRetuiningAdvice)-----------执行后增强

3、  环绕通知(org.aopalliance.intercept.MethodInterceptor)-----------执行前后增强

4、  异常抛出通知(org.springframework.aop.ThrowsAdvice)-----------抛出异常后增强

5、 异常抛出通知(org.springframework.aop.IntroductionInterceptor)-----------在目标类中添加一些新的方法和属性

AOP切面类型

Advisor:一般切面

PointcutAdvisor:代表有切点的切面(拦截指定目标类以及方法)

DefaultPointcutAdvisor:最常用切面类型,可以组合定义切面(Pointcut、Advice)

jdkRegexpMethodPointcut:构造正则表达式切点

IntroductionAdvisor:代表引介切面,针对引介通知而使用切面

Advisor切面实现

1、  引入spring核心包之外,还需要引入aoplliance包和spring-aop包

2、  创建接口类和接口实现类

3、  创建切面类实现对应的接口

4、  创建spring配置文件,配置通知

<bean id=”接口实现类的名称” class=”接口实现类的全路径”/>

<bean id=”通知的名称” class=”通知的切面实现类的全路径”/>

<bean id=”代理对象的名称” class=”切面方法的全路径”>

<property name=”target” ref=”接口实现类的名称”/>---------------配置目标类

<property name=”proxyInterfaces” value=”接口的全路径”/>---------------配置实现接口

<property name=”interceptorNames” value =”通知的名称”/>---------------配置拦截的类

</bean>

其他属性:

5、测试

@RunWith(SpringJunit4ClassRunner.class)

@ContextConfiguration(“classpath:配置文件名称”)

Advisor带有切入点切面实现

额外配置

spring-传统AOP的更多相关文章

  1. Spring 实践 -AOP

    Spring 实践 标签: Java与设计模式 AOP引介 AOP(Aspect Oriented Programing)面向切面编程采用横向抽取机制,以取代传统的纵向继承体系的重复性代码(如性能监控 ...

  2. Spring学习笔记(二)Spring基础AOP、IOC

    Spring AOP 1. 代理模式 1.1. 静态代理 程序中经常需要为某些动作或事件作下记录,以便在事后检测或作为排错的依据,先看一个简单的例子: import java.util.logging ...

  3. spring ioc aop 原理

    spring ioc aop 原理 spring ioc aop 的原理 spring的IoC容器是spring的核心,spring AOP是spring框架的重要组成部分. 在传统的程序设计中,当调 ...

  4. spring(二) AOP之AspectJ框架的使用

    前面讲解了spring的特性之一,IOC(控制反转),因为有了IOC,所以我们都不需要自己new对象了,想要什么,spring就给什么.而今天要学习spring的第二个重点,AOP.一篇讲解不完,所以 ...

  5. Spring框架——AOP代理

    我们知道AOP代理指的就是设计模式中的代理模式.一种是静态代理,高效,但是代码量偏大:另一种就是动态代理,动态代理又分为SDK下的动态代理,还有CGLIB的动态代理.Spring AOP说是实现了AO ...

  6. Spring的AOP开发的相关术语

    转载自 https://www.cnblogs.com/ltfxy/p/9873618.html SpringAOP简介: AOP思想最早是由AOP联盟组织提出的.Spring使用这种思想最好的框架. ...

  7. 框架源码系列十:Spring AOP(AOP的核心概念回顾、Spring中AOP的用法、Spring AOP 源码学习)

    一.AOP的核心概念回顾 https://docs.spring.io/spring/docs/5.1.3.RELEASE/spring-framework-reference/core.html#a ...

  8. Spring IOC AOP的原理 如果让你自己设计IOC,AOP如何处理(百度)

    百度的面试官问,如果让你自己设计一个IOC,和AOP,如何设计, 我把IOC的过程答出来了,但是明显不对, (1) IOC 利用了反射,自己有个id,classtype,hashmap,所有的功能都在 ...

  9. Sping框架的IOC特性 悲观锁、乐观锁 Spring的AOP特性

    Sping框架的IOC特性 IOC(Inversion of Control):控制反转 以下以课程与老师的安排来介绍控制反转. 一个合理的课程编排系统应该围绕培训的内容为核心,而不应该以具体的培训老 ...

  10. 对于Spring中AOP,DI,IoC概念的理解

    IOC IoC(inversion of Control),控制反转.就好像敏捷开发和SCRUM一样,不是什么技术,而是一种方法论,一种工程化的思想.使用IoC的思想意味着你将设计好的对象交给容器控制 ...

随机推荐

  1. aop动态代理 事务 threadlocal

    第一:package com.itheima.utils; import java.sql.Connection; import java.sql.SQLException; /** * 处理事务 的 ...

  2. 二叉搜索树-php实现 插入删除查找等操作

    二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值: 若它的 ...

  3. ToDictionary写法

    把List集合转化成Dictionary public ActionResult Dimo() { Dictionary<string, Object> param = new Dicti ...

  4. 集成Springboot+MyBatis+JPA

    1.前言 Springboot最近可谓是非常的火,本人也在项目中尝到了甜头.之前一直使用Springboot+JPA,用了一段时间发现JPA不是太灵活,也有可能是我不精通JPA,总之为了多学学Spri ...

  5. maven常用依赖

    HttpServletRequest HttpServletResponse <dependency> <groupId>javax.servlet</groupId&g ...

  6. css颜色 hsla 和line-gradient

    h 表示色调 从0-360 s 饱和度  0 - 100% l 亮度    0 -100% a 透明度  0-1

  7. VueJs组件prop验证简单理解

    今天看了vuejs的组件,看到了prop组件,主要作用是在传入数据的时候对传入的值做判断,写了个小例子. <div id="app"> <my-child :nu ...

  8. 信息无缝滚动效果marquee

    横向滚动.纵向滚动 1. 解决滚动的空白 向左向右滚动的话,可以根据父级定位left,每次加或者减可以使物体向左或右运动,用top也可以实现向上或向下运动 上下滚动实现无缝滚动1. innerHTML ...

  9. Shader学习笔记整理

    1.常用矩阵 UNITY_MATRIX_V 视口矩阵 UNITY_MATRIX_P 投影矩阵 UNITY_MATRIX_MV 模型矩阵 * 视口矩阵 UNITY_MATRIX_MVP 模型矩阵 * 视 ...

  10. Android SQLite数据库之事务的学习

    SQLite是Android系统内置的一款轻量级的关系型数据库,它的运算速度非常快,占用资源很少,通常只需要几百K的内存就足够了.SQLite不仅支持标准的SQL语法,还遵循了数据库的ACID事务. ...