SSM框架

SSM框架(Spring+SpringMVC+Mybatis)

这是在看完网上ssm框架视频,最后总结的

1.SSM整合思路

  • Spring 和 SpringMVC 整合
    1. 容器对象管理问题
      1. SpringMVC容器对象,由DispathcherServlet管理
      2. Spring容器对象,一定要在DispathcherServlet之前创建,那么就用ContextLoaderListener管理(监听器)
    2. 解决组件扫描的冲突问题
      1. SpringMVC 只扫描Controller层
      2. Spring扫描排除Controller层
  • Spring 和 Mybatis 整合
    1. ​ 关于数据源,事务管理的代码冲突问题
      1. 统一交给Spring管理
    2. Spring管理Mybatis核心对象
      1. SqlSessionFactory
      2. Mapper代理对象

因为Spring是一个大的容器(管家)可以管理所有对象

三大组件的执行顺序 Listener > Filter > Servlet

2.SSM整合步骤

  • Spring + SpringMVC

    • 导入jar包

       		<!--spring-webmvc-->
              <dependency>
                  <groupId>org.springframework</groupId>
                  <artifactId>spring-webmvc</artifactId>
                  <version>5.3.1</version>
              </dependency>
      
              <!--Thymeleaf 与 Spring5整合包-->
              <dependency>
                  <groupId>org.thymeleaf</groupId>
                  <artifactId>thymeleaf-spring5</artifactId>
                  <version>3.0.12.RELEASE</version>
              </dependency>
      
              <!--servlet-api-->
              <dependency>
                  <groupId>javax.servlet</groupId>
                  <artifactId>javax.servlet-api</artifactId>
                  <version>4.0.1</version>
                  <scope>provided</scope>
              </dependency>
      
    • 配置文件

      • web.xml
        • 注册CharacterEncodingFilter,解决乱码问题
        • 注册HiddenHttpMethodFilter,支持PUT和DELETE提交(REST风格)
        • 注册DispatcherServlet(前端控制器)
        • 注册一个上下文参数(contextConfigLoaction),设置Spring.xml配置文件的路径
        • 注册ContextLoaderListener,管理spring容器对象
      • springMVC.xml
        • 开启组件扫描(只扫描controller层)
        • 装配视图解析器
        • 装配制图控制器(view-controller)
        • 装配defaul-servlet-handler,解决静态资源加载问题
        • 装配annotation-driven,解决后续问题
          • 解决view-controller 导致别的controller失效
          • 解决defaul-servlet-handle 的问题
          • 解决jackson装配消息转换器问题
          • (等23+种)
      • spring.xml
        • 开启组件扫描(排除controller层)
  • Spring + Mybatis

    • 导入jar

      • spring的jar包
        
      		<!--spring-jdbc		spring-orm有jdbc所以可以省略这个-->
      		<dependency>
            		<groupId>org.springframework</groupId>
                 	<artifactId>spring-jdbc</artifactId>
                  <version>5.3.1</version>
             	</dependency>
        
      		<!--spring-orm-->
              <dependency>
                  <groupId>org.springframework</groupId>
                  <artifactId>spring-orm</artifactId>
                  <version>5.3.1</version>
              </dependency>
        
      		<!--spring-aspects-->
       		<dependency>
                  <groupId>org.springframework</groupId>
                  <artifactId>spring-aspects</artifactId>
                  <version>5.3.1</version>
              </dependency>
      
      • mybatis的jar包
                  <dependency>
                      <groupId>com.alibaba</groupId>
                      <artifactId>druid</artifactId>
                      <version>1.1.10</version>
                  </dependency>
      
                  <dependency>
                      <groupId>mysql</groupId>
                      <artifactId>mysql-connector-java</artifactId>
                      <version>5.1.37</version>
                  </dependency>
      
                  <!--mybatis核心包-->
                  <dependency>
                      <groupId>org.mybatis</groupId>
                      <artifactId>mybatis</artifactId>
                      <version>3.5.7</version>
                  </dependency>
      
                  <!--分页插件-->
                  <dependency>
                      <groupId>com.github.pagehelper</groupId>
                      <artifactId>pagehelper</artifactId>
                      <version>5.1.8</version>
                  </dependency>
      
      • spring和mybatis整合的jar包
      		<dependency>
          		<groupId>org.mybatis</groupId>
          		<artifactId>mybatis-spring</artifactId>
          		<version>2.0.6</version>
      		</dependency>
      
    • 配置文件

      • spring.xml
        • 组件扫描(排除controller层)
        • 加载外部属性文件
        • 装配数据源( DruidDataSource )
        • 装配事务管理器( DataSourceTransactionManager )
        • 开启声明式事务管理注解支持
        • 装配SqlSessionFactoryBean,管理SqlSessionFactory
        • 装配MapperScannerConfigurer,管理Mapper代理对象
      • mybatis-config.xml(核心配置文件)
        • 设置别名
        • 开启驼峰命名映射
        • 设置PageHelper分页插件
        • ...
      • xxxMaper.xml(映射文件)
        • SQL语句

王清脆/SSMTemplate (gitee.com)

posted @   王清脆  阅读(52)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
点击右上角即可分享
微信分享提示