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成功注入并生效我们自己的配置了;

  • 相关阅读:
    问答
    正在设计taijilang的解析器,真可谓尸横遍地
    因为这些理由而坚持用grunt?其实它们都不成立。
    开始设计taijijs
    从grunt转到gulp
    google 索引
    :: operator
    用coffeescript写构造函数
    jade与angular.js
    angular.js 资料收集
  • 原文地址:https://www.cnblogs.com/lzj-learn/p/14431789.html
Copyright © 2011-2022 走看看