AOP

作者: 沧海水i | 来源:发表于2019-04-17 20:16 被阅读0次

一.概念

  • 切面(Aspect):一个关注点的模块化,这个关注点可能会横切多个对象。在Spring AOP中,切面可以使用基于模式或基于@Aspect注解的方式来实现。
  • 连接点(Join Point):在程序执行过程中某个特定的点,比如方法调用的时候或异常处理的时候。在Spring AOP中,一个连接点总是表示一个方法的执行。
  • 通知(Advice):在切面的某个特定的连接点上执行的动作。许多AOP框架(包括Spring)都是以拦截器做通知模型,并维护一个以连接点为中心的拦截器链。
  • 切入点(Pointcut):匹配连接点的断言。通知和一个切入点表达式关联,并在满足这个切入点的连接点上运行。
  • 引入(Introduction):用来给一个类型声明额外的方法或属性。Spring允许引入新的接口(以及一个对应的实现)到任何被代理的对象。
  • 目标对象(Target Object):被一个或多个切面所通知的对象。这个对象永远是一个被代理的对象。
  • AOP代理(AOP Proxy):AOP框架创建的对象,用来实现切面契约。
  • 织入(Weaving):把切面连接到其他应用程序类型或者对象上,并创建一个被通知的对象。

二.基本思想

  • 认识AOP:使用AOP,就不用在业务逻辑中实现与业务功能关系不大的代码,从而降低了耦合性,达到易于维护和重用的目的。一个应用程序分为核心关注点和横切关注点。核心关注点和具体应用的功能相关,而横切关注点存在与整个系统的范围内。在AOP里,每个关注点的实现并不知道是否有其他关注点关注它,组合的流向是从横切关注点到主关注点。
  • AOP与Java代理机制:AOP是一种思想,它和具体的实现技术无关,任何一种符合AOP思想的技术实现,都可以看作是AOP的实现。实际上Spring的AOP是建立在Java的代理机制之上的。
  • 用途:日志记录、性能统计、安全控制、权限管理、事务处理、异常处理、资源池管理等。

相关文章

网友评论

      本文标题:AOP

      本文链接:https://www.haomeiwen.com/subject/ylsowqtx.html