Spring MVC源码解析 - WebApplicationInitializer及其子类

本文详细介绍了Spring MVC中的WebApplicationInitializer接口及其常用的三个子类:AbstractContextLoaderInitializer, AbstractDispatcherServletInitializer和AbstractAnnotationConfigDispatcherServletInitializer,分析了它们在初始化Web应用程序中的作用和使用场景。" 125929148,14532474,Python性能提升:一行代码实现并行化,"['Python', '开发语言', '并行计算']
摘要由CSDN通过智能技术生成

目录

一. WebApplicationInitializer

二. AbstractContextLoaderInitializer

三. AbstractDispatcherServletInitializer

 四. AbstractAnnotationConfigDispatcherServletInitializer


简单地介绍WebApplicationInitializer以及子类(Spring MVC中使用到的子类)

 

一. WebApplicationInitializer

/**
 * 在Servlet3.0+的环境中,要去实现的接口,为了编程式地配置ServletContext。
 *
 * 这个SPI的实现类自动会被SpringServletContainerInitializer发现。
 * SpringServletContainerInitializer,会自动地被任何Servlet3.0容器所引导
 *
 * 传统的xml方式:
 * 大多数的Spring使用者建立一个web application的话,需要注册Spring的DispatcherServlet。比如在WEB-INF/web.xml中,如下:
 * <servlet>
 *   <servlet-name>dispatcher</servlet-name>
 *   <servlet-class>
 *     org.springframework.web.servlet.DispatcherServlet
 *   </servlet-class>
 *   <init-param>
 *     <param-name>contextConfigLocation</param-name>
 *     <param-value>/WEB-INF/spring/dispatcher-config.xml</param-value>
 *   </init-param>
 *   <load-on-startup>1</load-on-startup>
 * </servlet>
 *
 * <servlet-mapping>
 *   <servlet-name>dispatcher</servlet-name>
 *   <url-pattern>/</url-pattern>
 * </servlet-mapping>
 *
 * 基于代码方式的配置,如下:
 * public class MyWebAppInitializer implements WebApplicationInitializer {
 *
 *    @Override
 *    public void onStartup(ServletContext container) {
 *      XmlWebApplicationContext appContext = new XmlWebApplicationContext();
 *      appContext.setConfigLocation("/WEB-INF/spring/dispatcher-config.xml");
 *
 *      ServletRegistration.Dynamic dispatcher =
 *        container.addServlet("dispatcher", new DispatcherServlet(appContext));
 *      dispatcher.setLoadOnStartup(1);
 *      dispatcher.addMapping("/");
 *    }
 *
 * }
 *
 * 还可以选择继承{@link org.springframework.web.servlet.support.AbstractDispatcherServletInitializer}.
 *
 *
 * public class MyWebAppInitializer implements WebApplicationInitializer {
 *
 *    @Override
 *    public void onStartup(ServletContext container) {
 *      // Create the 'root' Spring application context
 *      AnnotationConfigWebApplicationContext rootContext 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值