首页 > 编程语言 > 详细

Spring Boot源码(一):去除web.xml

时间:2020-02-06 14:42:55      阅读:99      评论:0      收藏:0      [点我收藏+]

访问https://spring.io/

技术分享图片

 

 

 技术分享图片

 

 

 spring boot中:

public class MyWebApplicationInitializer implements WebApplicationInitializer {

    @Override
    public void onStartup(ServletContext servletCxt) {

        // Load Spring web application configuration
        AnnotationConfigWebApplicationContext ac = new AnnotationConfigWebApplicationContext();
        ac.register(AppConfig.class);
        ac.refresh();

        // Create and register the DispatcherServlet
        DispatcherServlet servlet = new DispatcherServlet(ac);
        ServletRegistration.Dynamic registration = servletCxt.addServlet("app", servlet);
        registration.setLoadOnStartup(1);
        registration.addMapping("/app/*");
    }
}

 

在原来的spring mvc中web.xml:

<web-app>

    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/app-context.xml</param-value>
    </context-param>

    <servlet>
        <servlet-name>app</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value></param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>app</servlet-name>
        <url-pattern>/app/*</url-pattern>
    </servlet-mapping>

</web-app>

参考官方文档:

技术分享图片

 

它的作用就是注册和初始化DispatcherServlet

而spring boot中的这四句代码与上面一样:

技术分享图片

 

 不过web.xml中还可以向容器中注入三大组件,servlet,filter,listener

可以通过@WebServlet,@WebFilter,@WebListener注解方式注入。

不过spring boot中用的是SPI来注入,关于怎么注入,下篇再说。

 

Spring Boot源码(一):去除web.xml

原文:https://www.cnblogs.com/SunSAS/p/12268120.html

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