码迷,mamicode.com
首页 > 编程语言 > 详细

初识Spring AOP

时间:2015-01-03 15:53:48      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:

AOP 是OOP的补充,主要为了解决 代码混乱 代码分散 这2个问题
AOP的好处:
  1、每个事务逻辑 位于一个位置,代码不分散,便于维护和升级
  2、业务模块更简洁,只包含核心业务代码

AOP的主要编程对象是切面(验证参数,前置日志,add(),后置日志)
  +—*/这个例子中的2个切面就是验证参数,日志(包括前置日志,后置日志)
  切面即被模块化后的特殊对象

AspectJ的作用:开发者无需修改源代码,但又可以为这些组件添加新的功能,AspectJ采用编译时增强的解决方案,需要使用自己的编译器来编译Java文件。
Spring 则采用运行时生成动态代理的方式来增强目标对象,Spring AOP用纯 java实现,不需要特定的编译工具。Spring的AOP代理由IoC容器负责生成、管理,

  其依关系也是由IoC管理,因此,AOP代理可以直接使用容器中的其他Bean实例作为目标,Spring默认使用Java动态代理来创建AOP代理。

AOP编程中,需要程序员参与的只有三个部分:
  1、定义普通业务组件;
  2、定义切入点,一个切入点可能横切多个业务组件
  3、定义增强处理,增强处理就是在AOP框架为普通业务组件组织代入的处理动作

一旦定义了合适的切入点和增强处理,AOP框架将会自动生成AOP代理,AOP代理的方法大致满足:
  AOP代理的方法=增强处理+目标对象的方法

现在通常建议使用AspectJ方式来定义切入点和增强处理,在这种方式下,Spring有2种选择来定义切入点和增强处理:
  1、基于注解的“零配置”方式,使用@Aspect、@Pointcut等注解来标注切入点和增强处理
  2、基于XML配置文件的管理方式,使用Spring配置文件来定义切入点和增强处理

初识Spring AOP

标签:

原文地址:http://www.cnblogs.com/gaoxiangde/p/4199555.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!