SpringMVC源码解读

2021-01-25 16:16

阅读:611

标签: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文件中加入我们需要的依赖:

  


org.springframework
spring-webmvc
5.0.6.RELEASE


javax.servlet
servlet-api
3.0-alpha-1
provided


在外部jar中

技术图片

 

 由前所述,里面的内容是

org.springframework.web.SpringServletContainerInitializer

 

SpringMVC源码解读

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

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


评论


亲,登录后才可以留言!