zoukankan      html  css  js  c++  java
  • Spring实战 (第3版)——AOP

      在软件开发中,分布于应用中多处的功能被称为横切关注点。通常,这些横切关注点从概念上是与应用的

    业务逻辑相分离的(但是往往直接嵌入到应用的业务逻辑之中)。将这些横切关注点与业务逻辑相分离正是

    面向切面编程(AOP)所要解决的。

      基于切面进行声明式编程。

      

    AOP使这些服务模块化,并以声明的方式将它们应用到它们需要影响的组件中去。AOP确保POJO保持简单。

      在使用面向切面编程时,我们仍然在一个地方定义通用功能,但是我们可以通过声明的方式定义这个功能以何种方式在

    何处应用,而无需修改受影响的类。

      横切关注点可以被模块化为特殊的类,这些类被称为切面。这样做有两个

    好处:首先,每个关注点现在都只集中于一处,而不是分散到多处代码中;其次,服务模块更简洁,因为它们

    只包含主要关注点(或核心功能)的代码,而次要关注点的代码被转移到切面中了。

      继承与委托是最常见的实现重用通用功能的面向对象技术。切面提供了取代继承和委托的另一种选择。

      切面的工作被称为通知。

      连接点是在应用执行过程中能够插入切面的一个点。这个点可以是调用方法时、抛出异常时、甚至修改一个字段时。切面代码

    可以利用这些点插入到应用的正常流程之中,并添加新的行为。

      切点有助于缩小切面所通知连接点的范围。

      切面是通知和切点的结合。通知和切点共同定义了关于切面的全部内容——它是什么,在何时和何处完成其功能。

    前3中都是Spring基于代理的AOP变体,因此,Spring对AOP的支持局限于方法拦截

      创建切点来定义切面织入的连接点是AOP框架的基本功能。因为Spring基于动态代理,所以Spring只支持方法连接点。

      Spring的目标之一就是允许开发人员在开发应用程序时,能够遵循面向对象(OO)原则中的“针对接口编程”。

      Spring Security从两个角度来解决安全性问题。它使用Servlet过滤器保护Web请求并限制URL级别的访问,

    也可以使用Spring AOP保护方法调用——借助于对象代理和使用通知,能够确保只有具备适当权限的用户才能

    访问安全保护的方法。

      Spring在运行期通知对象。

      切点和通知是切面的最基本元素。

  • 相关阅读:
    GET: https://login.weixin.qq.com/cgi-bin/mmwebwx-bin/login? loginicon=true &uuid=odcptUu2JA==&tip=0
    00018_流程控制语句switch
    百度编辑器如何能实现直接粘贴把图片上传到服务器中?
    wangEditor如何能实现直接粘贴把图片上传到服务器中?
    tinymce如何能实现直接粘贴把图片上传到服务器中?
    kindeditor如何能实现直接粘贴把图片上传到服务器中
    B/S实现浏览器端大文件分块上传
    百度WebUploader实现浏览器端大文件分块上传
    WebUploader实现浏览器端大文件分块上传
    php实现浏览器端大文件分块上传
  • 原文地址:https://www.cnblogs.com/heyesp/p/4785722.html
Copyright © 2011-2022 走看看