描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302642176丛书名: 计算机科学与技术丛书
《Spring Framework 6开发实战(Spring Spring Web MVC MyBatis)》采用“理论讲解 贯穿案例”相结合的阐述方式,先进行理论讲解,再用小的案例进行演示,然后分别使用员工系统和东东书城项目作为本书的贯穿案例,把理论知识与项目实践有机地结合在一起。通过《Spring Framework 6开发实战(Spring Spring Web MVC MyBatis)》,读者不仅能掌握理论知识,而且能掌握相关理论的应用场景。
《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开发工程师阅读,同时也可作为高等院校计算机、软件工程专业高年级本科生、研究生相关课程的教材。
第1章 Spring入门 1
1.1 Rod Johson与Spring 1
1.2 Spring与Jakarta EE的关系 2
1.2.1 Java EE与Jakarta EE 2
1.2.2 Jakarta EE是什么 3
1.2.3 Jakarta EE 9架构 3
1.2.4 Spring与Jakarta EE 4
1.3 Spring Project介绍 5
1.3.1 Spring官网 5
1.3.2 Spring热门Project 6
1.4 Spring Framework历史版本比较 6
1.4.1 Spring Framework资料下载 6
1.4.2 Spring 6.x对比Spring 5.x的变化 6
1.4.3 Spring 6.x的趋势 7
1.5 Spring Framework功能总览 7
1.5.1 核心功能 7
1.5.2 数据层整合 7
1.5.3 Web层技术 7
1.5.4 外部系统集成 8
1.6 Spring Framework模块组成 8
1.6.1 模块架构图 8
1.6.2 各模块的职责 8
第2章 Spring IoC 10
2.1 IoC与DI的概念 10
2.2 IoC容器与ApplicationContext 10
2.3 IoC容器的创建与使用 11
2.3.1 创建IoC容器实例 11
2.3.2 从IoC容器读取Bean 13
2.3.3 案例:hello入门 13
2.4 Bean管理 14
2.4.1 BeanDefinition 15
2.4.2 属性id和name的区别 16
2.4.3 创建Bean对象 16
2.5 案例:HelloSpringIoC 20
2.5.1 面向接口编程 21
2.5.2 XML 反射实现IoC 22
2.5.3 Spring实现IoC 23
2.6 依赖注入 24
2.6.1 依赖注入介绍 24
2.6.2 项目案例:StaffUser系统与DI 24
2.6.3 构造器注入 28
2.6.4 Set方法注入 31
2.6.5 XML依赖配置详解 33
2.6.6 Autowire注入 40
2.6.7 方法注入 44
2.6.8 依赖注入总结 47
2.7 Bean对象的范围 48
2.7.1 配置Bean的范围 49
2.7.2 singleton和prototype 49
2.7.3 案例:HelloSpringAction 50
2.7.4 Bean的Web应用 52
2.7.5 Bean的依赖 53
2.7.6 Java Bean的属性范围 54
2.8 定制Bean的特性信息 54
2.8.1 Bean的生命周期回调处理 55
2.8.2 Aware接口 59
2.9 IoC容器扩展 60
2.9.1 BeanPostProcessor接口 60
2.9.2 FactoryBean接口 62
2.10 注解配置 64
2.10.1 JSR相关注解 64
2.10.2 Spring相关注解 71
2.11 标准事件与自定义事件 73
2.11.1 标准事件 73
2.11.2 案例:邮件黑名单 73
2.11.3 案例:接收多类型消息 75
2.12 Bean工厂 76
2.12.1 BeanFactory接口 76
2.12.2 HierarchicalBeanFactory接口 76
2.12.3 ListableBeanFactory接口 77
2.12.4 实现类DefaultListableBeanFactory 77
2.12.5 Bean与BeanFactory 78
2.12.6 IoC容器与BeanFactory 78
第3章 面向切面编程 80
3.1 AOP介绍 80
3.1.1 AOP中的专业术语 80
3.1.2 advice的通知类型 81
3.1.3 AOP动态代理选择 81
3.2 @AspectJ支持 82
3.2.1 @AspectJ介绍 82
3.2.2 autoproxying配置 82
3.2.3 声明Aspect 83
3.2.4 声明 Pointcut 83
3.2.5 Pointcut表达式 83
3.2.6 声明advice 85
3.2.7 案例:StaffUser日志管理 88
3.2.8 案例:StaffUser数据库连接管理 89
3.3 基于XML的AOP配置 89
3.3.1 声明Aspect 90
3.3.2 声明Pointcut 90
3.3.3 声明Advice 91
3.3.4 使用Advisor 92
3.3.5 案例:StaffUser日志管理 92
3.3.6 案例:StaffUser数据库连接管理 94
3.4 动态代理机制 94
3.4.1 静态代理 95
3.4.2 JDK动态代理 97
3.4.3 项目案例:自动管理数据库连接 99
3.4.4 项目案例:员工系统的事务管理 102
3.4.5 项目案例:员工系统事务AspectJ方案 107
第4章 Spring整合JDBC 111
4.1 事务分类 111
4.2 Spring事务模型 113
4.3 Spring事务抽象模型 114
4.4 事务与资源管理 116
4.5 Spring声明性事务 117
4.5.1 XML方式管理声明性事务 117
4.5.2 项目案例:StaffUser事务的XML方案 118
4.5.3 JdbcDaoSupport 121
4.5.4 注解管理声明性事务 122
4.5.5 项目案例:StaffUser事务注解方案 123
4.6 Spring编程式事务 124
4.6.1 编程式事务介绍 124
4.6.2 案例:Spring编程式事务新增员工 125
4.7 声明性事务与编程式事务选择 126
4.8 Spring事务传播 126
4.8.1 Propagation.REQUIRED设置 127
4.8.2 Propagation.REQUIRES_NEW设置 131
4.8.3 Propagation.NESTED设置 132
第5章 东东书城Spring整合JDBC 133
5.1 东东书城基本功能 133
5.1.1 项目开发环境 133
5.1.2 表结构设计 133
5.1.3 东东书城原型 134
5.2 Spring整合JDBC实战 137
5.2.1 导包 137
5.2.2 Spring配置文件 138
5.2.3 封装BaseDao 139
5.2.4 封装SpringFactory 140
5.2.5 定义Spring Bean和依赖关系 140
5.2.6 配置声明性事务 140
5.2.7 控制器调用Bean 141
5.2.8 项目部署 141
第6章 Spring Web MVC 142
6.1 Spring Web MVC介绍 142
6.1.1 视图与控制层技术介绍 142
6.1.2 Spring MVC概述 142
6.1.3 Spring MVC特性支持 143
6.2 案例:HelloMVC 144
6.2.1 环境配置 144
6.2.2 Model与控制器 144
6.2.3 MVC架构 145
6.3 案例:HelloSpringmvc入门示例 146
6.3.1 导包 146
6.3.2 配置前端控制器DispatcherServlet 146
6.3.3 核心配置文件 146
6.3.4 编写HelloAction 147
6.3.5 编写视图 147
6.3.6 浏览器测试 147
6.3.7 配置log4j 147
6.4 前端控制器DispatcherServlet 148
6.4.1 Spring MVC架构图 148
6.4.2 DispatcherServlet与IoC容器的关系 149
6.4.3 DispatcherServlet核心功能 150
6.5 DispatcherServlet的工作流程 151
6.5.1 查看源代码 151
6.5.2 断点观察DispatcherServlet运行流程 151
6.5.3 前端控制器的doDispatch方法 153
6.5.4 创建IoC容器 154
6.6 @Controller 156
6.6.1 @Controller的作用域 156
6.6.2 @RequestMapping 157
6.6.3 控制器异步处理 180
6.7 拦截器 182
6.7.1 HandlerMapping 182
6.7.2 案例:非工作时间拒绝服务 183
6.7.3 拦截器运行流程分析 184
6.8 视图解析 185
6.8.1 视图解析的主要接口 185
6.8.2 JSP视图 186
6.8.3 ViewResolver解析视图 187
6.8.4 视图解析器链 187
6.8.5 重定向到视图 188
6.9 使用Flash属性 191
6.10 使用Locale 191
6.10.1 Locale解析器 192
6.10.2 Locale拦截器 193
6.10.3 案例:国际化应用 193
6.11 主题Theme 196
6.12 multipart文件上传 198
6.12.1 Spring multipart介绍 199
6.12.2 案例:图片上传 199
6.13 异常处理 200
6.13.1 HandlerExceptionResolver 200
6.13.2 SimpleMappingExceptionResolver 200
6.13.3 @ExceptionHandler 201
6.13.4 标准异常解析 202
6.14 JSP & JSTL 204
6.14.1 JSP与JSTL介绍 204
6.14.2 Spring MVC基础标签 204
6.14.3 form标签库 205
第7章 东东书城Spring MVC实战 207
7.1 导包 207
7.2 配置web.xml 207
7.3 配置spring-mvc.xml 208
7.4 用户权限校验 209
7.5 书城主页实现 210
7.6 图书详情页实现 210
7.7 用户管理 211
7.7.1 用户登录 211
7.7.2 用户退出 212
7.8 购物车实现 212
7.8.1 购物车设计 212
7.8.2 我的购物车 212
7.8.3 加入购物车 213
7.8.4 移出购物车 213
7.9 用户付款 213
7.9.1 结算 213
7.9.2 付款 215
7.10 图书上架 215
7.11 系统异常设计 217
第8章 MyBatis持久层框架 219
8.1 案例:MyBatis快速入门 219
8.1.1 导包 219
8.1.2 创建SqlSessionFactory单例 219
8.1.3 从SqlSessionFactory获得SqlSession 220
8.1.4 映射接口和映射文件 221
8.1.5 配置映射指向 221
8.1.6 Mapper调用 221
8.1.7 代码测试 221
8.1.8 Log4j跟踪MyBatis 222
8.2 MyBatis原理分析 222
8.2.1 SqlSession与Connection 222
8.2.2 SqlSession的getMapper 223
8.3 MyBatis配置 225
8.3.1 properties属性配置 226
8.3.2 settings配置 227
8.3.3 typeAliases配置 229
8.3.4 typeHandlers 230
8.3.5 objectFactory配置 233
8.3.6 plugins拦截器 235
8.3.7 环境配置 236
8.3.8 databaseIdProvider 241
8.3.9 Mappers配置 242
8.4 Mapper映射XML文件 243
8.4.1 mapper元素 243
8.4.2 select元素 244
8.4.3 insert、update和delete元素 245
8.4.4 项目案例:新增员工 247
8.4.5 项目案例:员工打卡 250
8.4.6 参数处理 253
8.4.7 ResultMap 255
8.4.8 项目案例:员工打卡记录查询 259
8.4.9 缓存 262
8.5 动态SQL 265
8.5.1 判断:if 265
8.5.2 分支:choose, when 267
8.5.3 循环:foreach 268
第9章 Spring整合MyBatis 270
9.1 整合资料下载 270
9.2 导包 270
9.3 Spring配置文件 271
9.4 配置Bean和依赖注入 272
9.5 声明性事务 272
9.5.1 只读事务 273
9.5.2 写操作事务管理 273
第10章 东东书城SSM整合 275
10.1 搭建SSM整合环境 275
10.1.1 导包 275
10.1.2 配置myBatis.xml 275
10.1.3 配置beans.xml 276
10.1.4 Mapper接口与映射文件 276
10.1.5 持久层依赖注入Mapper 277
10.2 MyBatis映射实现 277
10.2.1 主页推荐图书 277
10.2.2 图书详情 278
10.2.3 用户管理 278
10.2.4 购物车 278
10.2.5 用户付款 279
10.2.6 图书上架 281
IV
V
在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
评论
还没有评论。