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. 百度BAE数据库连接问题

    今天第一次使用百度的开发平台BAE,按照入门文档上的操作一步步来,进行的很顺利,可是我在上传了一个cms系统后,进行安装时,卡在了数据库连接这个地方,弄了一下午,终于有了结果,在这里记录起来,希望能帮 ...

  2. DIV+CSS如何让图片和文字在同一行!

    在div+css布局中,如果一行(或一个DIV)内容中有图片和文字的话,图片和文字往往会一个在上一个在下,这是一个新手都会遇到问题,我的解决方法有三: 1.添加CSS属性:vertical-align ...

  3. EF删除数据

    1.方法一,面向对象 using (MyDbContent content = new MyDbContent()) { content.Entry<UserInfo>(model).St ...

  4. schema的元素数据类型(复杂数据类型)

    1.简单元素的声明 <xs:element name="元素名称" type="xs:string" default="默认值" mi ...

  5. #include stdio.h(3)

    #include <stdio.h> int main() { /* * ** *** **** ***** */ ;a<;a++) { printf("\n") ...

  6. Oracle数据表比较记录差异(转)

    liuyx_know|七级 你可以参照一下Oracle的UNION [ALL], INTERSECT, MINUS操作符,至于你的问题你可以使用MINUS操作符,语句如下: SELECT * FROM ...

  7. Assembly测试

    using UnityEngine; using System.Collections; using System.Collections.Generic; using System.Reflecti ...

  8. android里的继承浅析

    先看一段代码: abstract class A{ public A(){ this.print(); } public abstract void print(); } class B extend ...

  9. SharePoint 计时器作业

    本文将介绍 SharePoint 2010 的默认计时器作业,即我们通常说的Timer服务.计时器作业在 SharePoint Server 的特定 Windows 服务中运行.计时器作业还是执行定时 ...

  10. vos限制客户呼出时间

    问题: 公司希望自己的卡线晚上 21:00-24:00    早上00:00-7:30不能打出电话,以防遭投拆, 那么如何设置? 方法: 找到客户使用的落地网关, 落地网关——补充设置——