教程分类名称
Java Spring框架入门教程
Java Spring框架是什么?它有哪些好处?
Spring体系结构详解
Spring目录结构和基础JAR包介绍
Spring IoC容器:BeanFactory和ApplicationContext
第一个Spring程序
Spring Bean的配置及常用属性
Spring实例化Bean的三种方法
Spring中Bean的作用域
Spring Bean的生命周期
Spring基于XML装配Bean
Spring自动装配Bean
Spring AOP(面向切面编程)是什么?
Spring通知类型及使用ProxyFactoryBean创建AOP代理
Spring使用AspectJ开发AOP:基于XML和基于Annotation
Spring JDBCTemplate简介
Spring声明式事务管理(基于XML方式实现)
SSM(Spring+Spring MVC+MyBatis)框架整合搭建详细步骤
文章导航
Java Spring框...
Java Spring框...
Spring体系结构详解
Spring目录结构和基...
Spring IoC容器...
第一个Spring程序
Spring Bean的...
Spring实例化Bea...
Spring中Bean的作用域
Spring Bean的...
Spring基于XML装...
Spring自动装配Bean
Spring AOP(面...
Spring通知类型及使...
Spring使用Aspe...
Spring JDBCT...
Spring声明式事务管...
SSM(Spring+S...
打开导航
# Spring AOP(面向切面编程)是什么? 面向切面编程(AOP)和面向对象编程(OOP)类似,也是一种编程模式。[Spring](http://dandelioncloud.cn/spring/) AOP 是基于 AOP 编程模式的一个框架,它的使用有效减少了系统间的重复代码,达到了模块间的松耦合目的。 AOP 的全称是“Aspect Oriented Programming”,即面向切面编程,它将业务逻辑的各个部分进行隔离,使开发人员在编写业务逻辑时可以专心于核心业务,从而提高了开发效率。 AOP 采取横向抽取机制,取代了传统纵向继承体系的重复性代码,其应用主要体现在事务处理、日志管理、权限控制、异常处理等方面。 目前最流行的 AOP 框架有两个,分别为 Spring AOP 和 AspectJ。 Spring AOP 使用纯 [Java](http://dandelioncloud.cn/java/) 实现,不需要专门的编译过程和类加载器,在运行期间通过代理方式向目标类植入增强的代码。 AspectJ 是一个基于 Java 语言的 AOP 框架,从 Spring 2.0 开始,Spring AOP 引入了对 AspectJ 的支持。AspectJ 扩展了 Java 语言,提供了一个专门的编译器,在编译时提供横向代码的植入。 为了更好地理解 AOP,就需要对 AOP 的相关术语有一些了解,这些专业术语主要包含 Joinpoint、Pointcut、Advice、Target、Weaving、Proxy 和 Aspect,它们的含义如下表所示。 | 名称 | 说明 | | ------------------- | ------------------------------------------------------------ | | Joinpoint(连接点) | 指那些被拦截到的点,在 Spring 中,可以被动态代理拦截目标类的方法。 | | Pointcut(切入点) | 指要对哪些 Joinpoint 进行拦截,即被拦截的连接点。 | | Advice(通知) | 指拦截到 Joinpoint 之后要做的事情,即对切入点增强的内容。 | | Target(目标) | 指代理的目标对象。 | | Weaving(植入) | 指把增强代码应用到目标上,生成代理对象的过程。 | | Proxy(代理) | 指生成的代理对象。 | | Aspect(切面) | 切入点和通知的结合。 |