前言
在当今IT行业,Java拥有世界上数量最多的程序员和岗位需求,95%以上的服务器端均是由Java开发的。SSM框架是一种经典的JavaEE Web开发框架,它由Spring、Spring MVC和MyBatis三个开源项目整合而成。SSM框架各个组件之间相互配合,提供了一套完整的解决方案,用于开发企业级的Java Web应用程序。作为一种成熟稳定的Java Web开发框架,SSM框架在企业级应用系统、电子商务平台、社交网络应用系统、内容管理系统等实际项目中得到了广泛应用,具有高效性、灵活性、易用性、可靠性等特点。未来,它可以与微服务结合,提供更加灵活、可扩展的解决方案;集成新技术和新特性,以适应新的需求;持续进行性能优化和改进,减少不必要的开销、提升框架的稳定性和安全性,更好地满足项目的需求。本书从SSM框架开发的基础技术知识点入手,辅以知识点案例,以实际工程项目为主线,重点讲解SSM框架开发技术在综合项目案例开发中的应用。
本书是一本既培养学生软件开发技术,又培养学生工程实践能力的教材。教材以IT企业对开发人员的技术能力要求为基础,以工程能力培养为目标,梳理了软件工程对计算机软件开发技术要求的知识点,并形成相应的知识单元;按照工程需求顺序组织课程内容,便于学生学习和掌握;提供一定量的案例,注重实践能力的培养。本书可以作为计算机类专业各层次学生的教材,也可以作为JavaEE Web应用开发者的参考用书。
全书分为4部分,共16章,具体如下。
第1部分: MyBatis篇。
第1章: MyBatis基础,包括MyBatis概述、SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession和SQL Mapper。
第2章: XML文件,包括MyBatis配置文件、映射文件等内容。
第3章: 关联查询,包括MyBatis实现一对一、一对多、多对多的处理与查询等内容。
第4章: 动态SQL,包括MyBatis动态组装功能、动态SQL语句拼接语法、常用元素等内容。第5章: 缓存和存储过程,包括MyBatis缓存机制、一级缓存和二级缓存的使用与原理、MyBatis存储过程的调用等内容。
第2部分: Spring篇。
第6章: Spring基础,包括Spring框架介绍、Spring框架体系结构、Spring开发环境构建、Spring核心容器、依赖注入与控制反转思想原理等内容。
第7章: 使用Spring管理Bean,包括Spring Bean的配置、实例化、装配方式、作用域以及生命周期等内容。
第8章: 面向切面编程,包括面向切面思想、AOP概念和术语、动态代理以及AOP的实现和AspectJ的开发等内容。
第9章: Spring框架的数据库编程,包括Spring JDBC简介、Spring JDBC配置并实现对数据库的操作等内容。
第10章: Spring框架的数据库事务管理,包括数据库事务介绍、Spring支持事务管理的核心接口、声明事务的实现等内容。
第3部分: Spring MVC篇。
第11章: Spring MVC基础,包括Spring MVC概念与基本组件、Spring MVC工作流程与原理、Spring MVC开发环境构建等内容。
第12章: 常用注解,包括Spring MVC常用注解的介绍以及使用的内容。
第13章: Spring MVC数据处理,包括数据转换处理、数据格式化处理、数据校验处理、域对象共享、视图跳转方式等内容。
第14章: Spring MVC 拦截器和异常处理,包括拦截器介绍、拦截器执行原理、Spring MVC框架异常处理等内容。
第15章: Spring MVC其他功能,包括Spring MVC框架实现文件上传与下载、Spring MVC国际化实现等内容。
第4部分: MyBatis+Spring+Spring MVC整合篇。
第16章: MyBatis+Spring+Spring MVC框架整合,包括整合思路、开发环境和依赖处理、框架逐步搭建等内容。
本书具有以下特点:
(1) 遵照教指委计算机科学与技术和软件工程专业及相关专业的培养目标和培养方案,合理安排SSM框架开发技术知识体系,结合JavaEE Web开发技术方向的先行课程和后续课程组织相关知识点与内容。
(2) 注重理论和实践的结合,教材融入面向对象软件开发过程和工程实践背景的综合项目案例,使学生在掌握理论知识的同时提高分析问题和解决问题的能力,提高创新意识。
(3) 每个知识点都包括基础案例,每章都有一个综合案例,知识内容层层推进,便于学生接受。每章综合案例以“学生选课管理系统”为基础,以开发过程为主线,将知识点有机地串联在一起,便于学生掌握与理解。
(4) 每章的习题提供一定数量的课外实践题目,采用课内外结合的方式,培养学生对软件开发的兴趣,以满足当前社会对软件开发人员的需求。
(5) 教材提供配套的课件、例题案例、章节案例和综合案例的源码。
本书由李雷孝、云静、邢红梅、翟娜和德世洋5位作者共同编写。其中,李雷孝编写了第11~15章,云静编写了6~9章,邢红梅编写了第5、10章和综合案例,翟娜编写了第1~4章,德世洋编写了第16章、各章习题、综合案例、电子资源,并统稿全书。在编写过程中,本书参阅了甲骨文公司、青岛软件园、上海杰普软件等公司的教学科研成果,也吸取了国内外教材的精髓,对这些作者的贡献表示由衷的感谢。本书在出版过程中,得到了刘利民教授、马志强教授和张世娥老师的支持和帮助;还得到了清华大学出版社张玥编辑的大力支持,在此表示诚挚的感谢。本书受到全国高等学校计算机教育研究会高等学校计算机教材建设项目、内蒙古自治区软件开发技术系列课程教学创新团队等项目资助。
由于编者水平有限,书中难免有不妥和疏漏之处,恳请各位专家、同仁和读者不吝赐教和批评指正。
编者
2024年3月