zoukankan      html  css  js  c++  java
  • springboot源码(2)

    在spingboot应用中,我们会经常配置自己的servlet,经常用的方法是在配置类中加入这样的一个bean:

     那么它通过这样注入servlet的一个原理是什么呢?我们打开ServletRegistrationBean这个类:

     它继承了DynamicRegistrationBean这个类,依次打开它们的继承,可以看到ServletRegistrationBean->DynamicRegistrationBean->RegistrationBean->ServletContextInitializer;

    最后的这个ServletContextInitializer接口里面就只定义的onStartup方法,我们打开RegistrationBean里重写的这个方法:

     这里的getDescription返回你注册的组件是servlet、listener还是filter,可看到其实现类分别对应了这3种,其实里面就只是加了对应描述的字符串而已,最后用register,我们打开这个方法:

     这个register方法其实就是DynamicRegistrationBean这个类里的,这里就把我们的组件注册到我们的servletContext中:

     最后configure方法配置我们自己自定义好的servlet:

     这样,我们就让我们自己自定义的servlet成功注入并生效我们自己的配置了;

  • 相关阅读:
    二分搜索
    Shell 字符串处理、获取文件名和后缀名
    sqlldr使用说明
    Linux cached过高问题
    算法时间复杂度
    #if,#ifdef,#ifndef的区别
    memcpy momove strcmp源码实现
    怎么解决/bin/sh: arm-linux-gcc: not found make
    性能文章
    linux
  • 原文地址:https://www.cnblogs.com/lzj-learn/p/14431789.html
Copyright © 2011-2022 走看看