spring-传统AOP
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的更多相关文章
- Spring 实践 -AOP
Spring 实践 标签: Java与设计模式 AOP引介 AOP(Aspect Oriented Programing)面向切面编程采用横向抽取机制,以取代传统的纵向继承体系的重复性代码(如性能监控 ...
- Spring学习笔记(二)Spring基础AOP、IOC
Spring AOP 1. 代理模式 1.1. 静态代理 程序中经常需要为某些动作或事件作下记录,以便在事后检测或作为排错的依据,先看一个简单的例子: import java.util.logging ...
- spring ioc aop 原理
spring ioc aop 原理 spring ioc aop 的原理 spring的IoC容器是spring的核心,spring AOP是spring框架的重要组成部分. 在传统的程序设计中,当调 ...
- spring(二) AOP之AspectJ框架的使用
前面讲解了spring的特性之一,IOC(控制反转),因为有了IOC,所以我们都不需要自己new对象了,想要什么,spring就给什么.而今天要学习spring的第二个重点,AOP.一篇讲解不完,所以 ...
- Spring框架——AOP代理
我们知道AOP代理指的就是设计模式中的代理模式.一种是静态代理,高效,但是代码量偏大:另一种就是动态代理,动态代理又分为SDK下的动态代理,还有CGLIB的动态代理.Spring AOP说是实现了AO ...
- Spring的AOP开发的相关术语
转载自 https://www.cnblogs.com/ltfxy/p/9873618.html SpringAOP简介: AOP思想最早是由AOP联盟组织提出的.Spring使用这种思想最好的框架. ...
- 框架源码系列十:Spring AOP(AOP的核心概念回顾、Spring中AOP的用法、Spring AOP 源码学习)
一.AOP的核心概念回顾 https://docs.spring.io/spring/docs/5.1.3.RELEASE/spring-framework-reference/core.html#a ...
- Spring IOC AOP的原理 如果让你自己设计IOC,AOP如何处理(百度)
百度的面试官问,如果让你自己设计一个IOC,和AOP,如何设计, 我把IOC的过程答出来了,但是明显不对, (1) IOC 利用了反射,自己有个id,classtype,hashmap,所有的功能都在 ...
- Sping框架的IOC特性 悲观锁、乐观锁 Spring的AOP特性
Sping框架的IOC特性 IOC(Inversion of Control):控制反转 以下以课程与老师的安排来介绍控制反转. 一个合理的课程编排系统应该围绕培训的内容为核心,而不应该以具体的培训老 ...
- 对于Spring中AOP,DI,IoC概念的理解
IOC IoC(inversion of Control),控制反转.就好像敏捷开发和SCRUM一样,不是什么技术,而是一种方法论,一种工程化的思想.使用IoC的思想意味着你将设计好的对象交给容器控制 ...
随机推荐
- 百度BAE数据库连接问题
今天第一次使用百度的开发平台BAE,按照入门文档上的操作一步步来,进行的很顺利,可是我在上传了一个cms系统后,进行安装时,卡在了数据库连接这个地方,弄了一下午,终于有了结果,在这里记录起来,希望能帮 ...
- DIV+CSS如何让图片和文字在同一行!
在div+css布局中,如果一行(或一个DIV)内容中有图片和文字的话,图片和文字往往会一个在上一个在下,这是一个新手都会遇到问题,我的解决方法有三: 1.添加CSS属性:vertical-align ...
- EF删除数据
1.方法一,面向对象 using (MyDbContent content = new MyDbContent()) { content.Entry<UserInfo>(model).St ...
- schema的元素数据类型(复杂数据类型)
1.简单元素的声明 <xs:element name="元素名称" type="xs:string" default="默认值" mi ...
- #include stdio.h(3)
#include <stdio.h> int main() { /* * ** *** **** ***** */ ;a<;a++) { printf("\n") ...
- Oracle数据表比较记录差异(转)
liuyx_know|七级 你可以参照一下Oracle的UNION [ALL], INTERSECT, MINUS操作符,至于你的问题你可以使用MINUS操作符,语句如下: SELECT * FROM ...
- Assembly测试
using UnityEngine; using System.Collections; using System.Collections.Generic; using System.Reflecti ...
- android里的继承浅析
先看一段代码: abstract class A{ public A(){ this.print(); } public abstract void print(); } class B extend ...
- SharePoint 计时器作业
本文将介绍 SharePoint 2010 的默认计时器作业,即我们通常说的Timer服务.计时器作业在 SharePoint Server 的特定 Windows 服务中运行.计时器作业还是执行定时 ...
- vos限制客户呼出时间
问题: 公司希望自己的卡线晚上 21:00-24:00 早上00:00-7:30不能打出电话,以防遭投拆, 那么如何设置? 方法: 找到客户使用的落地网关, 落地网关——补充设置——