𝓝𝓮𝓶𝓸&博客

【SpringMVC】运行流程

SpringMVC 运行流程

在 Spring 的环境下使用 SpringMVC

Bean 被创建两次?

  • Spring 的 IOC 容器不应该扫描 SpringMVC 中的 bean, 对应的 SpringMVC 的 IOC 容器不应该扫描 Spring 中的 bean
<context:component-scan base-package="com.nemo.springmvc">
  <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
  <context:exclude-filter type="annotation" expression="org.springframework.stereotype.ControllerAdvice"/>
</context:component-scan>
<context:component-scan base-package="com.nemo.springmvc" use-default-filters="false">
  <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
  <context:exclude-filter type="annotation" expression="org.springframework.stereotype.ControllerAdvice"/>
</context:component-scan>

在 Spring MVC 配置文件中引用业务层的 Bean

  • 多个 Spring IOC 容器之间可以设置为父子关系,以实现良好的解耦。
  • Spring MVC WEB 层容器可作为 “业务层” Spring 容器的子容器:即 WEB 层容器可以引用业务层容器的 Bean,而业务层容器却访问不到 WEB 层容器的 Bean

posted @ 2020-08-15 11:54  Nemo&  阅读(146)  评论(0编辑  收藏  举报