栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

2021-10-27 SSM整合的开发思路

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

2021-10-27 SSM整合的开发思路

SSM整合的开发思路

最近学习了SSM经典框架,东西比较多,原理部分也只是做了简单了解,想通过写一个Webapp接受前端请求对数据库进行CRUD操作的案例巩固一下。
在写之前,先整理一下开发思路。

  • 使用SpringMVC + Spring + MyBatis开发Web项目的思路
  • 使用SSM模拟业务,实现CRUD操作
SSM
  • SpringMVC:视图层,界面层,负责接收请求,显示处理结果。
  • Spring:业务层,管理service,dao,工具类对象。
  • MyBatis:持久层, 访问数据库。
容器

整合中要搞清楚容器。哪些对象放在哪些容器中,容器之间的关系等。

  • SpringMVC容器, 管理Controller控制器对象的。
  • Spring容器,管理Service,Dao,工具类对象的
  • springmvc容器是spring容器的子容器,在子容器中的Controller可以访问父容器中的Service对象,就可以实现controller使用service对象
  • 把使用的对象交给合适的容器创建,管理。
    • 把Controller还有web开发的相关对象。交给springmvc容器, 这些web用的对象写在springmvc配置文件中
    • service,dao对象定义在spring的配置文件中,让spring管理这些对象。
实现步骤
  1. 数据库表定义:student(id*, name, age)
  2. maven加入依赖:
    • springmvc,spring,mybatis三个框架的依赖
    • mysql驱动,druid连接池(数据库连接)
    • servlet,jsp依赖(web项目)
    • jackson依赖(对象转json工具)
  3. 写web.xml
    1. 注册DispatcherServlet(中央调度器、springmvc容器对象),目的:
      1. 创建springmvc容器对象,才能创建Controller类的对象。
      2. Servlet才能接受用户的请求。
    2. 注册spring监听器ContextLoaderListener,目的:
      1. 创建spring的容器对象,才能创建service,dao等对象。
    3. 注册字符集过滤器CharacterEncodingFilter,目的:
      1. 过滤器解决字符码统一的问题。
  4. 创建webapp的各类功能包,最基本的包括:
    • controller - 控制器对象,交由DispatcherServlet对象进行调度,接收请求并处理、响应
    • service - 业务逻辑,可以交由spring进行aop得到其代理对象
    • dao - 数据库操作接口,配合xml文件交由mybatis进行实例化
    • domain - 实体类,存储、传递参数作用
  5. 写springmvc,spring,mybatis的配置文件
    • springmvc配置文件:
      1. 组件扫描器component-scan,声明其需要创建并管理的controller类的位置。
      2. 视图解析器InternalResourceViewResolver,匹配前后缀名,controller只需要返回视图的逻辑名即可,无需考虑地址和后缀文件名。
      3. 注解驱动器annotation-driven,其可以:
        1. 创建HttpMessageConverter的7个实现类,从而将controller输出的obj转换为前端需要的数据。
        2. 解决动态资源和静态资源冲突的问题。
    • spring配置文件:
      1. 声明创建数据源DruidDataSource、和SqlSessionFactory(后者是mybatis对象,需要指明mybatis.xml位置)。
      2. 声明Mapping映射文件(Dao.xml)的扫描器MapperScannerConfigurer,用前面的SqlSessionFactory对象,创建Dao对象。
      3. 声明component-scan组件扫描器,扫描Service所在的包名位置,为加了@Service注解的Service类创建对象。
      4. 声明事务管理器DataSourceTransactionManager,配合注解驱动器,用aop为ServiceImpl对象创建Around消息代理对象
      5. 声明事务注解启动器annotation-driven,告诉spring添加@Transactional的方法需要创建动态代理类。
    • mybatis配置文件:
      1. 设置typeAliases标签定义domain对象的别名(可选可不选)。
      2. 设置mappers声明定义mapper文件的位置。
    • properties文件:设置数据库连接的url、password等属性信息。
  6. 根据业务需要,写dao接口、service接口、实体类、controller类、service实现类逻辑。
  7. 写jsp用于返回给前端页面。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/351217.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号