D1章 Java EE应用 1
1.1 Java EE应用概述 2
1.1.1 Java EE应用的分层模型 2
1.1.2 Java EE应用的组件 3
1.1.3 Java EE应用的结构和优势 4
1.2 轻量级Java EE应用相关技术 4
1.2.1 JSP、Servlet和JavaBean及替代技术 4
1.2.2 MyBatis3及替代技术 5
1.2.3 Spring4及替代技术 6
1.2.4 使用开源框架的好处 7
1.3 本章小结 7
D2章 Spring MVC简介 8
2.1 MVC思想概述 9
2.1.1 传统Model1和Model2 9
2.1.2 MVC思想及其优势 10
2.2 Struts2和Spring MVC 11
2.3 开发D一个Spring MVC应用 11
2.3.1 Spring的下载和安装 11
2.3.2 Spring MVC的DispatcherServlet 12
2.3.3 基于Controller接口的控制器 13
示例:D一个Spring MVC应用 13
示例:基于注解的控制器 17
2.4 详解DispatcherServlet 19
2.5 Spring MVC执行的流程 21
2.5.1 Spring MVC应用的开发步骤 22
2.5.2 Spring MVC执行的流程 23
2.6 本章小结 24
D3章 Spring MVC的常用注解 25
3.1 @Controller注解 26
示例:@Controller注解的使用 26
3.2 @RequestMapping注解 28
3.2.1 @RequestMapping注解 28
3.2.2 请求处理方法可出现的参数类型 30
3.2.3 请求处理方法可返回的类型 31
3.2.4 Model和ModelAndView 31
示例:Model和ModelMap的使用 32
示例:ModelAndView的使用 33
3.3 参数绑定注解 33
3.3.1 @RequestParam注解 33
示例:@RequestMapping和@RequestParam注解的使用 34
3.3.2 @PathVariable注解 38
3.3.3 @RequestHeader注解 38
3.3.4 @CookieValue注解 39
示例:@PathVariable、@RequestHeader和@CookieValue注解的使用 39
3.3.5 @SessionAttributes注解 41
示例:@SessionAttributes注解的使用 41
3.3.6 @ModelAttribute注解 42
示例:@ModelAttribute注解的使用 43
3.4 信息转换 49
3.4.1 HttpMessageConverter<T>接口 49
3.4.2 转换JSON数据 51
示例:接收JSON格式的数据 51
示例:自定义HttpMessageConverter接收JSON格式的数据 55
示例:返回JSON格式的数据 57
示例:自定义HttpMessageConverter返回JSON格式的数据 58
3.4.3 转换XML数据 59
示例:接收XML格式的数据 59
示例:返回XML格式的数据 61
3.5 本章小结 62
D4章 Spring MVC的标签库 64
4.1 表单标签库 65
4.1.1 form标签 65
4.1.2 input标签 66
示例:form和input标签的使用 66
4.1.3 password标签 68
4.1.4 hidden标签 69
4.1.5 textarea标签 69
4.1.6 checkbox标签 70
示例:checkbox标签的使用 70
4.1.7 checkboxes标签 71
示例:checkboxes标签的使用 72
4.1.8 radiobutton标签 76
示例:radiobutton标签的使用 76
4.1.9 radiobuttons标签 77
示例:radiobuttons标签的使用 77
4.1.10 select标签 79
4.1.11 option标签 79
4.1.12 options标签 79
示例:select、option和options标签的使用 80
4.1.13 errors标签 83
示例:errors标签的使用 84
4.2 本章小结 86
D5章 Spring MVC的GJ化 87
5.1 Spring MVCGJ化的相关知识 88
5.1.1 messageSource 88
5.1.2 localeResolver 88
5.1.3 message标签 89
5.2 AcceptHeaderLocaleResolverGJ化 89
示例:基于浏览器请求的GJ化实现 89
5.3 SessionLocaleResolverGJ化 92
示例:基于HttpSession的GJ化实现 93
5.4 CookieLocaleResolverGJ化 95
示例:基于Cookie的GJ化实现 95
5.5 本章小结 96
D6章 Spring MVC的数据转换、格式化和数据校验 97
6.1 数据绑定流程 98
6.2 数据转换 98
6.2.1 ConversionService 98
6.2.2 Spring支持的转换器 99
示例:使用ConversionService转换数据 100
示例:使用@InitBinder添加自定义编辑器转换数据 103
示例:使用WebBindingInitializer注册全局自定义编辑器转换数据 103
6.2.3 多种转换器的优先顺序 104
6.3 数据格式化 104
示例:使用Formatter格式化数据 105
示例:使用FormatterRegistrar注册Formatter 107
示例:使用AnDtationFormatterFactory<A extends AnDtation>格式化数据 108
6.4 数据校验 110
6.4.1 Spring的Validation校验框架 111
示例:测试Spring的Validation校验 112
6.4.2 JSR 303校验 114
示例:测试JSR 303校验 115
6.5 本章小结 120
D7章 Spring MVC的文件上传和下载 121
7.1 文件上传 122
示例:Spring MVC的文件上传 122
示例:使用对象接收上传文件 124
7.2 文件下载 125
示例:Spring MVC的文件下载 125
7.3 拦截器 126
7.3.1 HandlerInterceptor接口 127
示例:拦截器实现用户权限验证 127
7.4 本章小结 131
D8章 MyBatis简介 132
8.1 ORM和MyBatis 133
8.1.1 对象/关系数据库映射(ORM) 133
8.1.2 基本映射方式 134
8.1.3 流行的ORM框架简介 135
8.1.4 MyBatis概述 135
8.2 MyBatis入门 136
8.2.1 MyBatis下载和安装 136
8.2.2 MyBatis的数据库操作 137
8.3 本章小结 142
D9章 MyBatis的基本用法 143
9.1 MyBatis的体系结构 144
9.1.1 SqlSessionFactory 144
9.1.2 SqlSession 144
9.2 深入MyBatis的配置文件 146
9.2.1 MyBatis的配置文件结构 147
9.2.2 properties属性 147
9.2.3 settings设置 148
9.2.4 typeAliases类型命名 150
9.2.5 typeHandlers类型处理器 151
9.2.6 objectFactory对象工厂 152
9.2.7 environments配置环境 152
9.2.8 mapper映射器 154
9.3 深入Mapper XML映射文件 155
9.3.1 select 155
9.3.2 insert、update和delete 157
9.3.3 sql 158
9.3.4 参数(Parameters) 159
示例:测试select、insert、update和delete操作 159
9.3.5 ResultMaps 163
示例:测试ResultMaps 163
9.4 本章小结 169
D10章 MyBatis的关联映射和动态SQL 170
10.1 MyBatis的关联映射 171
10.1.1 一对一 171
示例:OneToOneTest 171
10.1.2 一对多 174
示例:OneToManyTest 174
10.1.3 多对多 179
示例:ManyToManyTest 179
10.2 动态SQL 185
示例:DynamicSQLTest 185
10.2.1 if 186
10.2.2 choose(when、otherwise) 188
10.2.3 where 190
10.2.4 set 191
10.2.5 foreach 192
10.2.6 bind 193
10.3 本章小结 194
D11章 MyBatis的事务管理和缓存机制 195
11.1 MyBatis的事务管理 196
11.1.1 事务的概念 196
11.1.2 Transaction接口 196
11.1.3 事务的配置创建和使用 197
11.2 MyBatis的缓存机制 201
11.2.1 一级缓存(SqlSession级别) 201
示例OneLevelCacheTest 201
11.2.2 二级缓存(mapper级别) 204
示例:TwoLevelCacheTest 204
11.3 本章小结 207
D12章 MyBatis的注解配置 208
12.1 常用AnDtation注解 209
12.2 AnDtation注解的使用 209
示例:测试select、insert、update和delete操作 210
示例:AOneToOneTest 213
示例:AOneToManyTest 215
示例:AManyToManyTest 216
示例:ADynamicSQLTest 218
12.3 本章小结 224
D13章 Spring4整合MyBatis3 225
13.1 开发环境搭建 226
13.2 准备所需的jar包 226
13.3 准备数据库资源 226
13.4 完成配置文件 227
13.5 持久层功能实现 229
13.6 服务层功能实现 230
13.7 控制层功能实现 232
13.8 jsp页面 233
13.9 测试Spring4整合MyBatis3 234
13.10 本章小结 235
D14章 实战项目:人事管理系统 236
14.1 项目简介及系统结构 237
14.1.1 系统功能介绍 237
14.1.2 相关技术介绍 238
14.1.3 系统结构 238
14.1.4 系统的功能模块 239
14.2 数据表和持久化类 239
14.2.1 设计数据库表 239
14.2.2 设计持久化实体 241
14.2.3 创建持久化实体类 242
14.3 实现DAO持久层 248
14.3.1 公共常量类 249
14.3.2 定义DAO接口 249
14.3.3 部署DAO层 263
14.4 实现Service持久层 264
14.4.1 业务逻辑组件的设计 264
14.4.2 实现业务逻辑组件 264
14.4.3 事务管理 279
14.4.4 部署业务逻辑组件 279
14.5 实现Web层 280
14.5.1 控制器的处理顺序 280
14.5.2 用户管理 283
14.5.3 部门管理 287
14.5.4 职位管理 290
14.5.5 员工管理 292
14.5.6 公告管理 296
14.5.7 下载中心 299
14.6 本章小结 303
附录A EL表达式和JSTL标签库 304
显示全部信息这本书在高并发场景下的解决方案方面,给了我不少启发。虽然书名没有直接提及“高并发”,但其中关于Spring事务隔离级别、锁机制的讲解,以及MyBatis的批量操作和缓存策略,都直接关系到系统在高并发下的稳定性和性能。作者通过一些实际案例,展示了如何通过合理的配置和代码优化,来应对海量请求的冲击。比如,在数据库连接池的配置上,书中给出了详细的参数调优建议,并解释了不同参数对系统性能的影响。同时,它还讨论了如何利用Spring的异步处理机制,将一些耗时的操作放到后台执行,从而提高接口的响应速度。 对于数据库的性能优化,这本书提供了不少实用的技巧。它不仅讲解了SQL语句的编写规范和索引的使用,还深入分析了MyBatis在执行SQL时的内部机制,以及如何通过调整MyBatis的配置参数来提升执行效率。书中还有专门的章节讨论了数据库的读写分离、分库分表等策略,这对于我们处理日益增长的数据量非常有帮助。例如,作者通过图示和代码示例,清晰地展示了如何利用MyBatis的XML映射文件来实现这些高级的数据访问模式。
评分书中在领域驱动设计(DDD)的理念与实践方面,也进行了深入的探讨。它并没有将DDD作为独立的主题,而是将其融入到了Spring和MyBatis的应用中,展示了如何在实际项目中落地DDD的思想。例如,作者讲解了如何通过DDD的限界上下文来组织代码,以及如何在MyBatis中实现聚合根和仓储的模式。 此外,这本书在消息队列的应用方面,也进行了详细的阐述。它介绍了如何利用Spring AMQP和Kafka等消息中间件,来实现异步通信和解耦。书中通过案例展示了如何构建消息驱动的微服务,以及如何处理消息的可靠投递和顺序性问题,这对于构建健壮的分布式系统非常重要。
评分我在这本书中发现,它对于企业级应用的安全性设计有着相当程度的关注。虽然名字听起来是技术实现,但作者并没有忽略安全性这个关键环节。书中讲解了如何利用Spring Security框架来实现用户认证和授权,并且详细介绍了如何集成OAuth2.0等协议来保护API接口。此外,在MyBatis的使用上,它还强调了如何防止SQL注入等常见的安全漏洞,通过参数绑定和校验来确保数据的安全。 书中关于分布式事务的管理,也给了我非常深刻的认识。在构建复杂的企业级应用时,跨多个服务的事务一致性是一个巨大的挑战。这本书通过讲解TCC(Try-Confirm-Cancel)和Saga模式等解决方案,以及如何与Spring Cloud中的服务治理组件结合使用,为我们提供了一个清晰的实现思路。它并没有仅仅停留在理论层面,而是给出了具体的代码实现示例,让我们能够快速理解和应用。
评分这本书的书名虽然带有“Spring”和“MyBatis”,但我翻阅目录和内容后,发现它在微服务架构的实践应用方面,尤其是如何设计和构建一个可扩展、高可用的微服务系统,有着非常深入的探讨。作者并没有停留在Spring和MyBatis的基础知识层面,而是着重讲解了在真实企业级场景下,如何利用这些技术栈来解决复杂问题。例如,它详细介绍了如何通过Spring Cloud组件(如Eureka、Feign、 Hystrix、 Zuul等)构建服务注册与发现、服务调用、熔断降级和API网关等核心微服务能力。 在数据持久化方面,书中对MyBatis的深入讲解,并不仅仅局限于SQL映射和CRUD操作。它重点放在了如何优化MyBatis的性能,以及如何将其与Spring事务管理、连接池等进行高效整合。我特别喜欢其中关于动态SQL的章节,它提供了很多优雅的解决方案来应对复杂的查询条件,避免了硬编码SQL带来的维护困难。此外,书中还提及了如何使用MyBatis的分页插件,以及在分布式环境下如何处理数据一致性问题,这对于构建大型企业级应用来说至关重要。
评分这本书在系统监控与日志管理方面,也提供了不少宝贵的经验。作者详细介绍了如何利用Spring Boot Actuator和ELK(Elasticsearch, Logstash, Kibana)等工具,来对运行中的应用进行实时监控,收集和分析日志。书中还讲解了如何设计合理的日志记录策略,以及如何通过日志来快速定位和解决生产环境中的问题。这对于保证系统的稳定运行和及时响应故障至关重要。 在持续集成与持续部署(CI/CD)方面,这本书也触及了相关的实践。它虽然不是一本专门讲CI/CD的书,但其中关于如何打包、部署Spring Boot应用,以及如何与Maven、Docker等工具配合使用的讲解,都为实现自动化部署奠定了基础。作者通过实际操作演示,让我们了解了如何构建一个高效的开发和部署流水线。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.coffeedeals.club All Rights Reserved. 静流书站 版权所有