zoukankan      html  css  js  c++  java
  • SpringBoot ------ 使用AOP处理请求

    一。AOP统一处理请求日志

      1.spring的两大核心:AOP ,  IOC

      

      

      2.面向对象OOP关注的是将需求功能垂直,划分为不同的,并且相对独立的,

         会封装成良好的类,并且类有属于自己的行为。

      3.AOP则利用的是一种横切的技术,将面向对象构建的强大的类的体系,进行水平的切割;

        并且将那些会影响到多个类的公共行为封装成一个可重用的模块。这个模块称为切面。

      4.AOP的关键思想就是:将通用逻辑从业务逻辑中分离出来。

      5.结合处理请求打印日志这两种需求来观察这两种思想怎么从垂直和水平来划分的。

      5.1 一个网络请求的简单的生命周期

        

      5.2 操作数据库也有一个操作数据库的生命周期

        

      

    二。如何在spring中集成aop,以统一处理请求日志

      1.记录每一个Http请求实例

        1.1.做个授权访问的功能

          A.传统做法:

            在每个方法开始进行判断,如果登录了,才可以继续执行;

          B.在controller中加个构造方法,在构造方法中进行判断;

            但是不行,spring容器启动的时候,就把这些类实例化了,当一次http请求来的时候不会再

            执行此构造方法;

          C.AOP写一个统一的处理

            C1:使用AOP的第一步--添加依赖

              

            C2:往常需要再启动类上加个注解,但是AOP不需要。

            C3:建立处理文件:

              建立一个aspect包--在包下建立一个文件(HttpAspect.java)-- 类上加@Aspect注解

              --再加注解@Component(将文件引入到spring 容器中)-- 在类中写相应的逻辑代码;

              

              

        1.2.功能需求:希望在htttp请求到controller类的方法中之前,就记录下来;

         

        1.3.验证:加了@Before是否在方法执行直接就执行了

          在方法中输出,看哪个先输出。

           

  • 相关阅读:
    普通的一个python脚本,hadoop进军的准备
    Python之数据类型讲解
    开始博客的理由
    【微机原理及应用】程序的分类
    【jvm】jvm学习第二篇。jvm运行机制
    【jvm】jvm学习第一篇。初识jvm
    【it公司】it公司简介-项目流程-研发小技巧
    【感悟】20岁的人生不应该停止奋斗。----------------努力努力再努力
    【书籍学习】史上最全的Java进阶书籍推荐
    【职业规划】3年工作经验的程序员应该具备的技能
  • 原文地址:https://www.cnblogs.com/ccEmma/p/8686353.html
Copyright © 2011-2022 走看看