首页 > 代码库 > Spring(二)

Spring(二)

1.1 AOP概述

1.1.1什么是AOP

  • AOP(Aspect Oriented Programing) 面向切面编程。
  • AOP采取横向抽取机制,取代了传统纵向继承体系重复性代码(性能监视、事务管理、安全检查、缓存)。 

技术分享

  • Spring的AOP使用纯Java实现,不需要专门的编译过程和类加载器,在运行期通过代理方式向目标类织入增强代码。
  • AspectJ是一个基于Java语言的AOP框架,Spring2.0开始,Spring AOP引入对Aspect的支持,AspectJ扩展了Java语言,提供了一个专门的编译器,在编译的时候提供横向代码的织入。

 

1.1.2AOP底层原理

  • 代理机制
    • 动态代理(JDK的动态代理)
      • JDK的动态代理,对实现了接口的类生成代理。  

 

1.1.3Spring的AOP代理

  • JDK动态代理:对实现了接口的类生成代理
  • CGLIB代理机制:对类生成代理    

Spring(二)