zoukankan      html  css  js  c++  java
  • 为什么不在spring容器管理controller(spring mvc 的配置文件为什么不导入到spring容器中管理)

    转载自: https://blog.csdn.net/f45056231p/article/details/81545964

    Spring容器与SpringMVC容器

    1.疑问:为什么不用spring去管理所有类?

    我们配置springMVC 中,为什么controller不直接交给spring 管理而要spring MVC容器单独分开来管理

    2.Spring容器 与 SpringMVC关系

    Spring容器与SpringMVC容器是父子关系,子容器可以访问父容器的对象,父容器不能访问子容器的类,如果我们在springMVC配置
    文件中,直接扫描所有类,把service、dao、controller都交给SpringMVC去管理是可以的,但是假如用spring去管理
    Contoller,它是访问不到这个类的,因为contoller是在springMVC容器中,假如在Spring配置直接扫描所有类包括
    controller,而不配置springMVC的话,这样服务器发来的请求,将会出现404的问题,因为它找不到controller,spring
    无法注入Controller

    [plain] view plain copy
    例如:
    在applicationContext-service中配置:
    <!-- 扫描包加载Service实现类 -->
    <context:component-scan base-package="com.easybuy"></context:component-scan>
    会扫描@Controller、@Service、@Repository、@Compnent

    Springmvc.Xml中不扫描。
    结论:springmvc。不能提供服务,因为springmvc子容器中没有controller对象。

    3.为什么不直接在SpringMVC.xml中扫描所有类?

    原则上我们是可以把service、dao
    和controller都交给springMVC去管理,直接在SpringMVC配置文件中让它扫所有包就可以,但是出于未来扩展的考虑,spring
    和springMVC分开配置,由 spring 去管理service,有利于以后扩展,即便以后加多个struct2也不用影响原有配置

  • 相关阅读:
    JS判断浏览器类型及版本
    php函数ob_start()、ob_end_clean()、ob_get_contents()
    HTML-embed标签详解
    QQ一键登录功能的实现过程
    windows 7系统搭建本地SVN服务器的过程
    php 环境工具官网地址
    yii2 auth access-token
    使用Yii2时遇到的实际问题
    PHPExcel正确读取excel表格时间单元格(转载)
    持续集成 Jenkins
  • 原文地址:https://www.cnblogs.com/YoungSone/p/14423571.html
Copyright © 2011-2022 走看看