• ssm整合


    加载时机

    springmvc 作用于controller层,mybatis作用于持久层, spring作用于service层(装配对象)。
    所以springmvc的ioc依赖spring的ioc
    所以spring的ioc创建的时机一定要先于springmvc。
    contextloderlistener 是 servletcontext的监听器,init()方法最先执行。所以可以把创建sping IOC容器的功能放到这里执行
    所以:springmvc在servlet初始化加载,spring在context监听器参数加载

    思路

    spring和springmvc和mybatis
    spring负责除controller外的所有层
    springmvc负责controller层,controller依赖service层,所以springmvc依赖spring

    sqlsessionFactory对象注册

    mybatis的核心对象是sqlsessionFactory,引入依赖mybatis-spring核心包可以注册sqlsessionFactoryBean。该对象依赖datasource。

    mapper代理对象注册

    代理对象的创建依赖sqlsessionFactory。创建代理对象的对象叫做MapperScannerConfigurer,指定他的扫描范围到mapper/dao层,可以为该层的接口生成代理对象。注意:只能扫描mapper/dao层。如果全局扫描会为所有的接口生成代理对象。使用时会报错
    datasource和sqlsessionFactory和代理对象注册,都要引入到spring.xml中

    分页插件

    使用mybatis自带的拦截器,在执行sql语句之前,对sql语句进行解析,获得相应的参数。所以需要在注册sqlsessionFactoryBean时,把pageInterceptor拦截器注册到其plugin属性中

    contextloader监听器是父容器,在父容器里读取spring.xml。dispatcherservlet子容器,初始化时读取springmvc.xml的配置文件,处理请求。有依赖关系的对象之间不能有一个被依赖对象是没有配的,不然就会出现异常

    静态资源放行

    WEB-INF目录下的img/css/js等静态资源匹配了dispatcher的路径,会进入到dispatcher,dispatcher会去寻找这些资源对应的controller。找不到就会返回404,这个时候我们需要配置mvc的静态资源放行

  • 相关阅读:
    Anaconda Linux下安装Anaconda
    SpringBoot整合Swagger3.0
    【JavaScript面试】面向过程与面向对象
    JWFD开源工作流-矩阵大模型的最新进展
    基于深度学习的物体材质预测
    Nomad系列-Nomad网络模式
    策略模式
    I/O多路转接
    【力扣周赛】第 361 场周赛(⭐前缀和+哈希表 & 树上倍增、LCA⭐)
    ZCMU--2192: Queue
  • 原文地址:https://blog.csdn.net/weixin_43775723/article/details/126682999