Spring Framework 6开发实战(Spring+Spring Web MVC+MyBatis)
定 价:¥79
中 教 价:¥46.61 (5.90折)促销
库 存 数: 49
丛 书 名:计算机科学与技术丛书
《Spring Framework 6开发实战(Spring Spring Web MVC MyBatis)》基于框架Spring 6.x,按照理论讲解 贯穿案例的模式详细讲解了SSM框架的应用技术。本书共10章,第1章对Spring框架进行简单介绍;第2~4章结合员工系统分别讲解Spring框架的核心功能IoC、AOP、声明性事务等内容;第5章引入当当书城企业项目案例,结合具体项目讲解Spring整合JDBC;第6章讲解Spring MVC框架;第7章讲解使用Spring MVC实现当当书城项目;第8章讲解MyBatis框架的使用技术;第9、10章结合当当书城项目,讲解SSM框架统一整合。 《Spring Framework 6开发实战(Spring Spring Web MVC MyBatis)》适合具备Java基础的SSM初学者和进阶开发人员阅读,也适合Java Web开发工程师阅读,同时也可作为高等院校计算机、软件工程专业高年级本科生、研究生相关课程的教材。
《Spring Framework 6开发实战(Spring Spring Web MVC MyBatis)》采用理论讲解 贯穿案例相结合的阐述方式,先进行理论讲解,再用小的案例进行演示,然后分别使用员工系统和当当书城项目作为本书的贯穿案例,把理论知识与项目实践有机地结合在一起。通过《Spring Framework 6开发实战(Spring Spring Web MVC MyBatis)》,读者不仅能掌握理论知识,而且能掌握相关理论的应用场景。
在Java平台开发中,Java开源框架一直占据着重要的地位,以前流行的是SSH(Spring Struts 2 Hibernate),当前阶段的主流框架为SSM(Spring Spring Web MVC MyBatis)。 2019年12月31日,著名的云计算及安全软件提供商VMware宣布,它已经完成了以27亿美元收购Pivotal软件公司的交易。Spring Framework和Spring Boot项目就是Pivotal公司的著名产品,这也意味着Spring项目开始加速向云端发力。 2022年11月16日,VMware正式发布了Spring Framework 6.0,它的依赖环境是JDK17 、Jakarta EE 9 (Tomcat 10 / Jetty 11)、Spring Boot 3(参考Spring Framework 5.3.x的环境为Java 8~ Java 16、Java EE 7和Java EE 8),这标志着在甲骨文的全新运行环境基础上,Spring Framework和Spring Boot项目也进行了全面升级。 Spring项目现在已经成长为一个庞大的家族,我们熟知的有Spring Framework、Spring Boot、Spring Data、Spring Cloud、Spring Security、Spring Batch、Spring LDAP、Spring??AMQP、Spring REST、Spring WebFlow、Spring Web Services、Spring Shell等,本书重点讲解的是Spring Framework框架(简称Spring),这是所有其他Spring项目的基础。 Spring MVC框架从属于Spring Framework,Spring Framework的核心功能是IoC、AOP、事务整合等,而Spring MVC的核心功能是MVC和REST服务,因此习惯上会把Spring与Spring MVC作为两个框架分别讲解。 MyBatis是持久层框架,它与Hibernate的定位是一致的。现在Hibernate在企业项目的开发中仍然很有生命力,而MyBatis则在互联网项目开发中更有优势。 本书采用理论讲解 贯穿案例相结合的阐述方式,先进行理论讲解,再用小的案例进行演示,然后分别使用员工系统和当当书城项目作为本书的贯穿案例,把理论知识与项目实践有机地结合在一起。这样读者不仅能掌握理论知识,而且能掌握相关理论的应用场景。 配套资源 * 程序代码、开发环境等资源:扫描目录上方的配套资源二维码下载。 * 课件等资源:扫描封底的书圈二维码在公众号下载,或者到清华大学出版社官方网站本书页面下载。 注:请先扫描封底刮刮卡中的文泉云盘防盗码进行绑定后再获取配套资源。 Java开源框架SSM的学习是一个漫长的过程,一蹴而就是不可能的,尤其是SSM的原理、SSM与Java EE平台的关系、如何用SSM搭建高并发系统等,需要长时间的消化。因此,本书的读者不限于刚入门的大学生,对于有3~5年开发经验的熟练开发人员,仍然可以从本书中有所收益。 限于编者的水平和经验,错误或者不妥之处在所难免,敬请广大读者批评指正和提出宝贵意见。 肖海鹏????? 2023年4月 II
III
第1章 Spring入门 11.1 Rod Johson与Spring 11.2 Spring与Jakarta EE的关系 21.2.1 Java EE与Jakarta EE 21.2.2 Jakarta EE是什么 31.2.3 Jakarta EE 9架构 31.2.4 Spring与Jakarta EE 41.3 Spring Project介绍 51.3.1 Spring官网 51.3.2 Spring热门Project 61.4 Spring Framework历史版本比较 61.4.1 Spring Framework资料下载 61.4.2 Spring 6.x对比Spring 5.x的变化 61.4.3 Spring 6.x的趋势 71.5 Spring Framework功能总览 71.5.1 核心功能 71.5.2 数据层整合 71.5.3 Web层技术 71.5.4 外部系统集成 81.6 Spring Framework模块组成 81.6.1 模块架构图 81.6.2 各模块的职责 8第2章 Spring IoC 102.1 IoC与DI的概念 102.2 IoC容器与ApplicationContext 102.3 IoC容器的创建与使用 112.3.1 创建IoC容器实例 112.3.2 从IoC容器读取Bean 132.3.3 案例:hello入门 132.4 Bean管理 142.4.1 BeanDefinition 152.4.2 属性id和name的区别 162.4.3 创建Bean对象 162.5 案例:HelloSpringIoC 202.5.1 面向接口编程 212.5.2 XML 反射实现IoC 222.5.3 Spring实现IoC 232.6 依赖注入 242.6.1 依赖注入介绍 242.6.2 项目案例:StaffUser系统与DI 242.6.3 构造器注入 282.6.4 Set方法注入 312.6.5 XML依赖配置详解 332.6.6 Autowire注入 402.6.7 方法注入 442.6.8 依赖注入总结 472.7 Bean对象的范围 482.7.1 配置Bean的范围 492.7.2 singleton和prototype 492.7.3 案例:HelloSpringAction 502.7.4 Bean的Web应用 522.7.5 Bean的依赖 532.7.6 Java Bean的属性范围 542.8 定制Bean的特性信息 542.8.1 Bean的生命周期回调处理 552.8.2 Aware接口 592.9 IoC容器扩展 602.9.1 BeanPostProcessor接口 602.9.2 FactoryBean接口 622.10 注解配置 642.10.1 JSR相关注解 642.10.2 Spring相关注解 712.11 标准事件与自定义事件 732.11.1 标准事件 732.11.2 案例:邮件黑名单 732.11.3 案例:接收多类型消息 752.12 Bean工厂 762.12.1 BeanFactory接口 762.12.2 HierarchicalBeanFactory接口 762.12.3 ListableBeanFactory接口 772.12.4 实现类DefaultListableBeanFactory 772.12.5 Bean与BeanFactory 782.12.6 IoC容器与BeanFactory 78第3章 面向切面编程 803.1 AOP介绍 803.1.1 AOP中的专业术语 803.1.2 advice的通知类型 813.1.3 AOP动态代理选择 813.2 @AspectJ支持 823.2.1 @AspectJ介绍 823.2.2 autoproxying配置 823.2.3 声明Aspect 833.2.4 声明 Pointcut 833.2.5 Pointcut表达式 833.2.6 声明advice 853.2.7 案例:StaffUser日志管理 883.2.8 案例:StaffUser数据库连接管理 893.3 基于XML的AOP配置 893.3.1 声明Aspect 903.3.2 声明Pointcut 903.3.3 声明Advice 913.3.4 使用Advisor 923.3.5 案例:StaffUser日志管理 923.3.6 案例:StaffUser数据库连接管理 943.4 动态代理机制 943.4.1 静态代理 953.4.2 JDK动态代理 973.4.3 项目案例:自动管理数据库连接 993.4.4 项目案例:员工系统的事务管理 1023.4.5 项目案例:员工系统事务AspectJ方案 107第4章 Spring整合JDBC 1114.1 事务分类 1114.2 Spring事务模型 1134.3 Spring事务抽象模型 1144.4 事务与资源管理 1164.5 Spring声明性事务 1174.5.1 XML方式管理声明性事务 1174.5.2 项目案例:StaffUser事务的XML方案 1184.5.3 JdbcDaoSupport 1214.5.4 注解管理声明性事务 1224.5.5 项目案例:StaffUser事务注解方案 1234.6 Spring编程式事务 1244.6.1 编程式事务介绍 1244.6.2 案例:Spring编程式事务新增员工 1254.7 声明性事务与编程式事务选择 1264.8 Spring事务传播 1264.8.1 Propagation.REQUIRED设置 1274.8.2 Propagation.REQUIRES_NEW设置 1314.8.3 Propagation.NESTED设置 132第5章 当当书城Spring整合JDBC 1335.1 当当书城基本功能 1335.1.1 项目开发环境 1335.1.2 表结构设计 1335.1.3 当当书城原型 1345.2 Spring整合JDBC实战 1375.2.1 导包 1375.2.2 Spring配置文件 1385.2.3 封装BaseDao 1395.2.4 封装SpringFactory 1405.2.5 定义Spring Bean和依赖关系 1405.2.6 配置声明性事务 1405.2.7 控制器调用Bean 1415.2.8 项目部署 141第6章 Spring Web MVC 1426.1 Spring Web MVC介绍 1426.1.1 视图与控制层技术介绍 1426.1.2 Spring MVC概述 1426.1.3 Spring MVC特性支持 1436.2 案例:HelloMVC 1446.2.1 环境配置 1446.2.2 Model与控制器 1446.2.3 MVC架构 1456.3 案例:HelloSpringmvc入门示例 1466.3.1 导包 1466.3.2 配置前端控制器DispatcherServlet 1466.3.3 核心配置文件 1466.3.4 编写HelloAction 1476.3.5 编写视图 1476.3.6 浏览器测试 1476.3.7 配置log4j 1476.4 前端控制器DispatcherServlet 1486.4.1 Spring MVC架构图 1486.4.2 DispatcherServlet与IoC容器的关系 1496.4.3 DispatcherServlet核心功能 1506.5 DispatcherServlet的工作流程 1516.5.1 查看源代码 1516.5.2 断点观察DispatcherServlet运行流程 1516.5.3 前端控制器的doDispatch方法 1536.5.4 创建IoC容器 1546.6 @Controller 1566.6.1 @Controller的作用域 1566.6.2 @RequestMapping 1576.6.3 控制器异步处理 1806.7 拦截器 1826.7.1 HandlerMapping 1826.7.2 案例:非工作时间拒绝服务 1836.7.3 拦截器运行流程分析 1846.8 视图解析 1856.8.1 视图解析的主要接口 1856.8.2 JSP视图 1866.8.3 ViewResolver解析视图 1876.8.4 视图解析器链 1876.8.5 重定向到视图 1886.9 使用Flash属性 1916.10 使用Locale 1916.10.1 Locale解析器 1926.10.2 Locale拦截器 1936.10.3 案例:国际化应用 1936.11 主题Theme 1966.12 multipart文件上传 1986.12.1 Spring multipart介绍 1996.12.2 案例:图片上传 1996.13 异常处理 2006.13.1 HandlerExceptionResolver 2006.13.2 SimpleMappingExceptionResolver 2006.13.3 @ExceptionHandler 2016.13.4 标准异常解析 2026.14 JSP & JSTL 2046.14.1 JSP与JSTL介绍 2046.14.2 Spring MVC基础标签 2046.14.3 form标签库 205第7章 当当书城Spring MVC实战 2077.1 导包 2077.2 配置web.xml 2077.3 配置spring-mvc.xml 2087.4 用户权限校验 2097.5 书城主页实现 2107.6 图书详情页实现 2107.7 用户管理 2117.7.1 用户登录 2117.7.2 用户退出 2127.8 购物车实现 2127.8.1 购物车设计 2127.8.2 我的购物车 2127.8.3 加入购物车 2137.8.4 移出购物车 2137.9 用户付款 2137.9.1 结算 2137.9.2 付款 2157.10 图书上架 2157.11 系统异常设计 217第8章 MyBatis持久层框架 2198.1 案例:MyBatis快速入门 2198.1.1 导包 2198.1.2 创建SqlSessionFactory单例 2198.1.3 从SqlSessionFactory获得SqlSession 2208.1.4 映射接口和映射文件 2218.1.5 配置映射指向 2218.1.6 Mapper调用 2218.1.7 代码测试 2218.1.8 Log4j跟踪MyBatis 2228.2 MyBatis原理分析 2228.2.1 SqlSession与Connection 2228.2.2 SqlSession的getMapper 2238.3 MyBatis配置 2258.3.1 properties属性配置 2268.3.2 settings配置 2278.3.3 typeAliases配置 2298.3.4 typeHandlers 2308.3.5 objectFactory配置 2338.3.6 plugins拦截器 2358.3.7 环境配置 2368.3.8 databaseIdProvider 2418.3.9 Mappers配置 2428.4 Mapper映射XML文件 2438.4.1 mapper元素 2438.4.2 select元素 2448.4.3 insert、update和delete元素 2458.4.4 项目案例:新增员工 2478.4.5 项目案例:员工打卡 2508.4.6 参数处理 2538.4.7 ResultMap 2558.4.8 项目案例:员工打卡记录查询 2598.4.9 缓存 2628.5 动态SQL 2658.5.1 判断:if 2658.5.2 分支:choose, when 2678.5.3 循环:foreach 268第9章 Spring整合MyBatis 2709.1 整合资料下载 2709.2 导包 2709.3 Spring配置文件 2719.4 配置Bean和依赖注入 2729.5 声明性事务 2729.5.1 只读事务 2739.5.2 写操作事务管理 273第10章 当当书城SSM整合 27510.1 搭建SSM整合环境 27510.1.1 导包 27510.1.2 配置myBatis.xml 27510.1.3 配置beans.xml 27610.1.4 Mapper接口与映射文件 27610.1.5 持久层依赖注入Mapper 27710.2 MyBatis映射实现 27710.2.1 主页推荐图书 27710.2.2 图书详情 27810.2.3 用户管理 27810.2.4 购物车 27810.2.5 用户付款 27910.2.6 图书上架 281IV
V