标签:text java 原理 自己 初始 继承 isp val org
web.xml
<context-param> <param-name>contextConfigLocation</param-name> <!-- 指定加载application配置文件 --> <param-value>classpath:spring/application.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- 配置SpringMVC --> <servlet> <servlet-name>usermanage</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <!-- 指定加载外部的spring-mvc配置文件 --> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/springmvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet>
Servlet:代表的的容器为spring-mvc的子容器
DispatcherServlet上下文在初始化的时候会建立自己的IOC上下文,用以持有Spring mvc相关的bean。
DispatcherServlet 是前端控制器
DispatcherServlet专门为前端监听请求的时候所用(负责协调和组织不同组件完成请求处理并返回响应工作)
当前端接收到请求时,DispatcherServlet 从容器中取出所有 HandlerMapping 实例遍历,每个 HandlerMapping 会根据请求信息,通过自己实现类中的方式去找到处理该请求的 Handler (如Controller中的方法)
context-param:代表的容器是spring本身的容器,spring-mvc可以理解为一个继承自该容器的子容器,spring容器是最顶层的父类容器,跟java的继承原理一样
SpringMVC 的 IOC 容器中的 bean 可以引用Spring IOC 容器中的 bean
反之 Spring IOC 容器中的bean则不能引用Spring MVC IOC容器中的 bean 因为:
Spring MVC IOC容器是Spring IOC容器的子类,子类可以引用父类,父类不能引用子类。
从软件层面上来说,Spring MVC是展示层可以调用业务层,业务层不能调用展示层。
当服务器解析web.xml的时候由于listener监听的原因,会优先初始化spring容器,之后才初始化spring-mvc容器。
Spring IOC容器和Spring MVC IOC容器的区别
标签:text java 原理 自己 初始 继承 isp val org
原文地址:https://www.cnblogs.com/Esummer/p/11791468.html