码迷,mamicode.com
首页 > 编程语言 > 详细

SpringMVC源码解读

时间:2020-05-09 23:22:56      阅读:81      评论:0      收藏:0      [点我收藏+]

标签:c中   兴趣   ase   framework   dep   types   目录   web   cti   

·springMVC中取消了web.xml文件,那么web容器的组件应该怎么加到容器中呢?

技术图片

 

 

 在src同级目录下建立META-INF文件夹,里面还有个services文件夹,中间有个javax.servlet.ServletContainerInitializer文件,其中定义了自定义的ServletContainerInitializer的全路径。技术图片

 

 

 

这个自定义的入口应该怎么定义呢?

技术图片

 

 

 首先要实现ServletContainerInitializer方法,实现其中的onStartup方法,

  arg0:感兴趣的类的子类型(一个接口的所有实现)

  ServletContext:代表当前web应用,可以注册三大组件

那么这些参数怎么传入呢?

  在自定义类上面加上@HandlesTypes注解里面有values,写入接口,这就是arg0

  获取到arg0之后需要通过反射机制来创建想要的对象

 

·用ServletContext来注册我们的组件

  arg1.addServlet(‘OrderServlet‘, new OrderServlet());//注册servlet组件

技术图片

 

  后续还会加上url

技术图片

 

 接下来注册Listener、Filter

·SpringMVC和IOC容器都不能在运行时加新的bean

 

 

 

 

SPRING-MVC源码解读

首先在pom文件中加入我们需要的依赖:

  

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.0.6.RELEASE</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>3.0-alpha-1</version>
<scope>provided</scope>
</dependency>

在外部jar中

技术图片

 

 由前所述,里面的内容是

org.springframework.web.SpringServletContainerInitializer

 

SpringMVC源码解读

标签:c中   兴趣   ase   framework   dep   types   目录   web   cti   

原文地址:https://www.cnblogs.com/moxi-moxi/p/12860552.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!