zoukankan      html  css  js  c++  java
  • spring实现的基本思路

    spring实现的基本思路

    配置阶段

    • 配置web.xml
      • DispatchServlet
    • 设定init-param
      • 设置初始化参数的文件的加载路径contextconfigLoacation = classpath:application.xml
    • 设定url-pattern
      • /*
    • 配置Annotation
      • @Controller @Service @Autowried @RequestMapping...

    初始化阶段

    • 调用init()方法
      • 加载配置文件
    • IOC容器初始化
      • Map<String,Object>
    • 扫描相关的类
      • scan-package="com.demo"
    • 创建实例并保存到容器——IOC
      • 通过反射机制将类实例化放入容器中
    • 进行DI操作——DI
      • 扫描IOC容器中的实例,给没有赋值的属性自动赋值
    • 初始化HandlerMapping——MVC
      • 将一个Url和一个方法进行一对一的关联映射Map<String,Method>

    运行阶段

    • 调用doGet()/doPost()
      • Web容器调用doGet/doPost方法,获得request/response对象
    • 匹配HandlerMapping
      • 从request对象中获得用户输入的url,找到对应的Method
    • 反射调用method.invoker()
      • 利用反射调用方法并返回结果
    • response.getWrite().write()
      • 将返回结果输入到浏览器

    代码实现逻辑

    • 1、加载配置文件
    • 2、扫描相关的类
    • 3、初始化IOC容器,初始化扫描到的类,并且加入IOC容器中
    • 4、扫描加有注解的类,完成依赖注入
    • 5、初始化HandlerMapping,将url对应的Method注入容器
    • 6、执行service业务方法

    相关技巧

    • 将类名的首字母转小写方法
      • 先将类名转char数组
      • 再将第一个元素加32,也就是第一个字母,大小写字母的Ascii码相差32,大写字母Ascii码小于小写字母
  • 相关阅读:
    klinux下JDK的安装和卸载
    MySQL设置定时任务执行事务
    Burp Suite Intruder的4种攻击类型
    Intel重大漏洞之Meltdown和Spectre
    你的Mac还安全吗
    渗透技巧——Windows系统的帐户隐藏
    Office--CVE-2017-11882【远程代码执行】
    Kali下安装Java环境
    自动化渗透测试工具(Cobalt Strike)3.1 最新破解版
    跟着安全牛大表哥学渗透
  • 原文地址:https://www.cnblogs.com/erfsfj-dbc/p/11909356.html
Copyright © 2011-2022 走看看