访问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

其中:

<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>

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

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

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

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

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

最新文章

  1. Linux查找含有某字符串的所有文件
  2. [codeforces 339]C. Xenia and Weights
  3. MySQL常用问题解决方法
  4. 项目Windows服务安装命令:
  5. HDU 4258 Covered Walkway 斜率优化DP
  6. MapView
  7. 【BZOJ】【3295】【CQOI2011】动态逆序对
  8. jq向上无缝滚动
  9. 带计时器的做题器(gui
  10. mysql02
  11. 使apache解析域名到目录的方法
  12. @property和@synthesize
  13. php和java中的加密和解密
  14. access十万级数据分页
  15. 洛谷 P2059 [JLOI2013]卡牌游戏 解题报告
  16. 【LOJ】#2187. 「SHOI2014」三叉神经树
  17. PHP中unset,array_splice删除数组中元素的区别
  18. 005.SMB之user级别配置
  19. V-rep学习笔记:机器人路径规划1
  20. Git -- 从远程库克隆

热门文章

  1. Flutter开发之Widget布局和页面导航
  2. javascript 原生js对html元素的 增删改查 操作
  3. 基于python的密码字典生成器
  4. PWA 学习笔记
  5. Ubuntu14.04安装及配置mysql5.7.19
  6. PWA(Progressive web apps),渐进式 Web 应用
  7. QT学习之路-QT服务器-mysql数据库相关问题集锦(1)
  8. PyQt5官方教程+帮助文档+模块功能汇总
  9. 二次开发的Selenium Demo版本
  10. 源码浅析:MySQL一条insert操作,会写哪些文件?包括UNDO相关的文件吗?