Spring中基于xml的AOP的详细步骤

、Aop 全程是Aspect Oriented Programming 即面向切面编程,通过预编译方式和运行期动态代理实现程序功能的同一维护的一种技术。Aop是oop的延续,是软件开发中的 一个热点,也是Spring框架中一个重要的内容。是函数式编程的一个衍生范例,利用Aop可以对业务逻辑各个部分进行分割,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用行,提高了开发效率。简单的说就是把我们程序中的重复代码抽取出来,在需要执行的时候,使用动态代理的技术,在不修改源码的基础上已有的方法进行增强,(使用动态代理的方式实现)

相关术语

JoinPoint:链接点 那些被拦截到的点,在spring中,这些点指的是方法,因为spring只支持方法类型的连接点

Pointcut:切入点 是指我们要对哪些JoinPont进行拦截的定义

Advice:通知/增强 拦截到Joinpoint之后所要做的事情就是通知

通知类型:前置通知、后置通知、异常通知、最终通知、环绕通知

Introduction:引介 是一种特殊的通知,在不修改类代码的前提下,Introduction可以在运行期为类动态的添加一些方法或field

Target:目标对象,代理的目标对象

Weaving织入 是指把增强应用到目标对象来创建新的代理对象的过程,spring采用动态代理织入,而AspectJ采用编译期织入和类装载期织入

Proxy:代理,一类类被Aop织入增强后,就产生一个结果代理类

Aspect:切面 是切入点和通知(引介)的结合

在 spring 中,框架会根据目标类是否实现了接口来决定采用哪种动态代理的方式。

基于XMl的AOP步骤

1、创建Maven项目引入spring坐标

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 <modelVersion>4.0.0</modelVersion>
 <groupId>com.mingqi</groupId>
 <artifactId>SpringIOC</artifactId>
 <packaging>pom</packaging>
 <version>1.0-SNAPSHOT</version>
 <dependencies>
 <dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-context</artifactId>
  <version>5.0.2.RELEASE</version>
 </dependency>
 <dependency>
  <groupId>org.aspectj</groupId>
  <artifactId>aspectjweaver</artifactId>
  <version>1.8.7</version>
 </dependency>
 <dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.12</version>
  <scope>test</scope>
 </dependency>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值