1. 程式人生 > 實用技巧 >【SpringMVC】執行流程

【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