Spring的基于AspectJ的AOP开发——Spring AOP(五)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34598667/article/details/83417459

Spring的基于AspectJ的AOP开发

之前我们已经讲过了实现AOP的两种方式,那么下面我们讲一下Spring中的AOP开发。与Spring中的IOC控制反转类似,我们可以在xml中实现和使用注解实现,Spring提供了两种切面声明方式:

  • 基于XML配置方式声明切面。
  • 基于注解方式声明切面。
    为了使用Spring的注解方式进行面向切面编程,需要在项目中加入与AOP相关的jar包:
    在这里插入图片描述
    没有jar的朋友可以来这里下载:https://download.csdn.net/download/qq_34598667/10750269
    要进行AOP编程,我们接着要在Spring的配置文件——beans.xml中引入aop命名空间:
xmlns:aop="http://www.springframework.org/schema/aop"

http://www.springframework.org/schema/aop 
http://www.springframework.org/schema/aop/spring-aop-4.2.xsd"

添加完之后的xml为:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-4.2.xsd
        http://www.springframework.org/schema/aop 
        http://www.springframework.org/schema/aop/spring-aop-4.2.xsd">

</beans>

AOP开发中的相关术语

  • Joinpoint(连接点):所谓连接点是指那些被拦截到的点。在spring中,这些点指的是方法,因为 spring只支持方法类型的连接点.

  • Pointcut(切入点):所谓切入点是指我们要对哪些Joinpoint进行拦截的定义.

  • Advice(通知/增强):所谓通知是指拦截到Joinpoint之后所要做的事情就是通知.通知分为前置 通知,后置通知,异常通知,最终通知,环绕通知(切面要完成的功能)

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

  • Target(目标对象):代理的目标对象

  • Weaving(织入):是指把增强应用到目标对象来创建新的代理对象的过程.

      spring采用动态代理织入,而AspectJ采用编译期织入和类装载期织入  
    
  • Proxy(代理):一个类被AOP织入增强后,就产生一个结果代理类

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


下面我们基于此章讲解Spring的基于AspectJ的AOP开发的两种方式,先从基于XML配置方式开始,请点击链接:

猜你喜欢

转载自blog.csdn.net/qq_34598667/article/details/83417459