首页 > 编程语言 > 详细

springboot源码(2)

时间:2021-03-01 11:49:40      阅读:23      评论:0      收藏:0      [点我收藏+]

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

 

springboot源码(2)

原文:https://www.cnblogs.com/lzj-learn/p/14431789.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!