JavaEE互联网轻量级框架整合开发:SSM+Redis+Spring微服务(上下册)
塑封消毒 正版书 套装书为一本
¥
31.1
1.6折
¥
199
九品
仅1件
作者杨开振 著
出版社电子工业出版社
出版时间2021-07
版次1
装帧其他
货号有
上书时间2024-12-18
商品详情
- 品相描述:九品
- 商品描述
-
二手书不缺页不掉页不影响阅读,部分有笔记划线,没有光盘书签书腰等赠品,套装书为一本。拍下即代表接受该情况描述,不再另做通知,也不接受另外留言备注关于品相的要求。
图书标准信息
-
作者
杨开振 著
-
出版社
电子工业出版社
-
出版时间
2021-07
-
版次
1
-
ISBN
9787121413995
-
定价
199.00元
-
装帧
其他
-
开本
16开
-
页数
788页
-
字数
1339.6千字
- 【内容简介】
-
随着移动互联网的兴起,以Java技术为后台的互联网技术占据了市场的主导地位。在Java互联网后台开发中,SSM框架(Spring+Spring?MVC+MyBatis)成为了主要架构,本书讲述了SSM框架从入门到实际工作的要求。与此同时,为了提高系统性能,NoSQL(尤其是Redis)在互联网系统中已经广泛应用用,为了适应这个变化,本书通过Spring讲解了有关Redis的技术应用。随着微服务的异军凸起,Spring微服务也成为时代的主流,本书也包括这方面的内容。本书主要分为7部分:第1部分对Java互联网的框架和主要涉及的模式做简单介绍;第2部分讲述MyBatis技术;第3部分讲述Spring基础(包括IoC、AOP和数据库应用),重点讲解Spring数据库事务应用,以满足互联网企业的应用要求;第4部分讲述Spring?MVC框架;第5部分通过Spring讲解Redis技术;第6部分讲解Spring微服务(Spring?Boot和Spring?Cloud);第7部分结合本书内容讲解Spring微服务实践。
- 【作者简介】
-
杨开振,技术畅销书作家,精通Java 互联网技术开发和实践,拥有十余年一线企业开发经验,著有业内畅销书《深入浅出MyBatis 技术原理与实战》《深入浅出Spring Boot 2.x》和《Spring Cloud微服务和分布式系统实践》等。写作特点是技术点详尽准确、文字浅显易懂,立志于用书普及基础技术。刘家成,资深软件工程师,曾任职Synnex中国、亚信国际等,在电信、分销领域有丰富经验,在Java高并发和Spring生态有深刻的理解。
- 【目录】
-
第1部分 入门和技术基础
第1章 Java EE基础2
1.1 Java EE概述2
1.1.1 Java EE容器3
1.1.2 Java EE组件3
1.2 开发环境简介4
1.2.1 Tomcat简介4
1.2.1 Maven5
1.2.3 Web项目结构6
1.2.4 Web项目发布包7
1.3 Web容器的组件DDServlet7
1.3.1 Servlet入门实例7
1.3.2 Servlet的生命周期8
1.3.3 HttpServletRequest的应用12
1.3.4 HttpServletResponse的应用14
1.3.5 过滤器的使用17
1.3.6 监听20
1.3.7 Servlet容器初始化器21
1.3.8 使用Cookie23
1.3.9 提交表单24
1.3.10 使用web.xml26
第2章 认识SSM框架、Redis和微服务28
2.1 Spring框架28
2.1.1 Spring IoC简介28
2.1.2 Spring AOP30
2.2 MyBatis简介31
2.2.1 Hibernate简介32
2.2.2 MyBatis34
2.2.3 Hibernate和MyBatis的区别35
2.3 Spring MVC简介36
2.4 最流行的NoSQLDDRedis36
2.5 SSM+Redis结构框图及概述37
2.6 Spring微服务38
第3章 Java设计模式40
3.1 Java反射技术40
3.1.1 通过反射构建对象40
3.1.2 反射方法42
3.1.3 实例42
3.2 动态代理模式和责任链模式43
3.2.1 JDK动态代理44
3.2.2 CGLIB动态代理46
3.2.3 拦截器48
3.2.4 责任链模式51
3.3 观察者模式54
3.3.1 概述54
3.3.2 实例55
3.4 普通工厂模式和抽象工厂模式58
3.4.1 普通工厂模式58
3.4.2 抽象工厂模式59
3.5 建造者模式61
3.5.1 概述61
3.5.2 Builder模式实例62
第2部分 互联网持久框架DDMyBatis
第4章 认识MyBatis核心组件66
4.1 持久层的概念和MyBatis的特点66
4.2 准备MyBatis环境67
4.3 MyBatis的核心组件69
4.4 SqlSessionFactory70
4.4.1 使用XML配置文件构建SqlSessionFactory对象70
4.4.2 使用代码构建SqlSessionFactory对象72
4.5 SqlSession72
4.6 映射器73
4.6.1 用XML实现映射器74
4.6.2 用注解实现映射器75
4.6.3 用SqlSession发送SQL76
4.6.4 用Mapper接口发送SQL77
4.6.5 两种发送SQL的方式对比77
4.7 生命周期77
4.7.1 SqlSessionFactoryBuilder77
4.7.2 SqlSessionFactory78
4.7.3 SqlSession78
4.7.4 Mapper78
4.8 实例79
第5章 MyBatis配置85
5.1 概述85
5.2 properties属性86
5.2.1 property子元素86
5.2.2 properties文件87
5.2.3 程序代码传递87
5.3 settings配置88
5.4 typeAliases别名90
5.4.1 系统定义别名91
5.4.2 自定义别名92
5.5 typeHandler类型转换器93
5.5.1 系统定义的typeHandler94
5.5.2 自定义typeHandler98
5.5.3 枚举typeHandler101
5.5.4 文件操作105
5.6 对象工厂106
5.7 插件108
5.8 运行环境108
5.8.1 事务管理器109
5.8.2 数据源环境111
5.9 databaseIdProvider114
5.9.1 使用系统默认的databaseIdProvider114
5.9.2 不使用系统规则116
5.10 引入映射器的方法118
第6章 映射器120
6.1 概述120
6.2 select元素DD查询语句121
6.2.1 简单的select元素的应用122
6.2.2 自动映射和驼峰映射123
6.2.3 传递多个参数124
6.2.4 使用resultMap映射结果集127
6.2.5 分页参数RowBounds127
6.3 insert元素DD插入语句129
6.3.1 概述129
6.3.2 简单的insert语句的应用130
6.3.3 主键回填130
6.3.4 自定义主键131
6.4 update元素和delete元素132
6.5 sql元素132
6.6 参数133
6.6.1 概述133
6.6.2 存储过程参数支持134
6.6.3 特殊字符串的替换和处理(#和$)134
6.7 resultMap元素134
6.7.1 resultMap元素的构成135
6.7.2 使用Map存储结果集136
6.7.3 使用POJO存储结果集136
6.8 级联137
6.8.1 MyBatis中的级联137
6.8.2 建立POJO140
6.8.3 配置映射文件143
6.8.4 N+1问题147
6.8.5 延迟加载147
6.8.6 另一种级联151
6.8.7 多对多级联153
6.9 缓存156
6.9.1 一级缓存和二级缓存157
6.9.2 缓存配置项、自定义和引用160
6.10 存储过程161
6.10.1 IN和OUT参数存储过程162
6.10.2 游标的使用164
第7章 动态SQL167
7.1 概述167
7.2 if元素167
7.3 choose、when和otherwise元素168
7.4 trim、where和set元素169
7.5 foreach元素170
7.6 用test的属性判断字符串171
7.7 bind元素171
第8章 MyBatis的解析和运行原理173
8.1 构建SqlSessionFactory过程174
8.1.1 构建Configuration175
8.1.2 构建映射器的内部组成176
8.1.3 构建SqlSessionFactory178
8.2 SqlSession运行过程179
8.2.1 映射器的动态代理179
8.2.2 SqlSession运行原理183
第9章 插件192
9.1 插件接口192
9.2 插件的初始化193
9.3 插件的代理和反射设计194
9.4 常用的工具类DDMetaObject197
9.5 插件开发过程和实例198
9.5.1 确定需要拦截的签名198
9.5.2 实现拦截方法200
9.5.3 配置和运行202
9.5.4 插件实例DD分页插件203
第3部分 Spring基础
第10章 Spring IoC的概念216
10.1 Spring概述216
10.2 Spring IoC概述218
10.2.1 主动创建对象219
10.2.2 被动创建对象220
10.2.3 Spring IoC阐述222
10.3 Spring IoC容器223
10.3.1 Spring IoC容器的设计223
10.3.2 Spring IoC容器的初始化227
10.3.3 Spring Bean的生命周期228
第11章 装配Spring Bean233
11.1 依赖注入和依赖查找233
11.1.1 构造器注入233
11.1.2 使用setter注入234
11.1.3 依赖查找235
11.2 装配Bean概述236
11.3 通过XML配置装配Bean237
11.3.1 装配简易值237
11.3.2 装配集合238
11.3.3 命名空间装配241
11.4 通过注解装配Bean243
11.4.1 使用注解@Component装配Bean243
11.4.2 自动装配DD@Autowired247
11.4.3 自动装配的歧义性(注解@Primary和注解@Qualifier)248
11.4.4 装载带有参数的构造方法类251
11.4.5 使用注解@Bean装配252
11.4.6 注解自定义Bean的初始化和销毁方法253
11.5 装配的混合使用253
11.6 使用Profile256
11.6.1 使用注解@Profile配置256
11.6.2 使用XML定义Profile257
11.6.3 启动Profile258
11.7 加载属性文件260
11.7.1 使用注解方式加载属性文件261
11.7.2 使用XML方式加载属性文件263
11.8 条件化装配Bean264
11.9 Bean的作用域265
11.10 使用Spring表达式268
11.10.1 Spring EL相关的类268
11.10.2 Bean的属性和方法270
11.10.3 使用类的静态常量和方法271
11.10.4 Spring EL运算271
第12章 面向切面编程273
12.1 一个简单的约定游戏273
12.1.1 约定规则273
12.1.2 读者的代码275
12.1.3 笔者的代码277
12.2 Spring AOP的基本概念279
12.2.1 AOP的概念和使用原因279
12.2.2 面向切面编程的术语283
12.2.3 Spring对AOP的支持285
12.3 使用注解@AspectJ开发Spring AOP285
12.3.1 选择连接点285
12.3.2 创建切面286
12.3.3 切点287
12.3.4 测试AOP289
12.3.5 环绕通知291
12.3.6 织入293
12.3.7 向通知传递参数294
12.3.8 引入295
12.4 使用XML配置开发Spring AOP297
12.4.1 各类通知299
12.4.2 环绕通知301
12.4.3 向通知传递参数302
12.4.4 引入302
12.5 经典Spring AOP应用程序303
12.6 多个切面305
第13章 Spring和数据库编程311
13.1 传统的JDBC代码的弊端311
13.2 配置数据库313
13.2.1 使用简单数据库配置313
13.2.2 使用第三方数据库连接池314
13.2.3 使用JNDI数据库连接池314
13.3 JDBC代码失控的解决方案DDJdbcTemplate315
13.3.1 JdbcTemplate的增、删、查、改316
13.3.2 执行多条SQL语句317
13.3.3 JdbcTemplate的源码分析319
13.4 MyBatis-Spring项目320
13.4.1 配置SqlSessionFactoryBean321
13.4.2 SqlSessionTemplate的配置325
13.4.3 配置MapperFactoryBean327
13.4.4 配置MapperScannerConfigurer327
13.4.5 定制扫描330
13.4.6 使用Java配置文件配置MyBatis-Spring项目331
13.4.7 测试Spring+MyBatis333
第14章 深入Spring数据库事务管理336
14.1 Spring数据库事务管理器的设计336
14.1.1 配置事务管理器339
14.1.2 用Java配置方式实现Spring数据库事务340
14.2 编程式事务342
14.3 声明式事务342
14.3.1 @Transactional的配置项343
14.3.2 使用XML配置事务管理器344
14.3.3 事务定义器345
14.3.4 声明式事务的约定流程346
14.4 数据库的相关知识348
14.4.1 数据库事务ACID特性348
14.4.2 丢失更新348
14.4.3 隔离级别349
14.5 选择隔离级别和传播行为352
14.5.1 选择隔离级别352
14.5.2 传播行为353
14.6 在Spring+MyBatis组合中使用事务354
14.6.1 实例354
14.6.2 深入理解传播行为361
14.7 注解@Transactional的自调用失效问题366
14.8 典型错误用法剖析371
14.8.1 错误使用Service371
14.8.2 长时间占用事务372
14.8.3 错误捕捉异常374
第4部分 Spring MVC框架
第15章 Spring MVC的初始化和流程2
15.1 MVC设计概述2
15.1.1 Spring MVC的架构3
15.1.2 Spring MVC组件与流程4
15.1.3 Spring MVC入门实例5
15.2 Spring MVC初始化9
15.2.1 初始化Spring IoC上下文10
15.2.2 初始化映射请求上下文10
15.2.3 使用注解配置方式初始化16
15.2.4 WebMvcConfigurer接口20
15.3 Spring MVC开发流程详解21
15.3.1 注解@RequestMapping的使用21
15.3.2 控制器的开发23
15.3.3 视图渲染27
第16章 Spring MVC基础组件开发31
16.1 控制器接收各类请求参数31
16.1.1 接收普通请求参数32
16.1.2 使用注解@RequestParam获取参数34
16.1.3 使用URL传递参数35
16.1.4 传递JSON参数36
16.1.5 接收列表数据和表单序列化38
16.2 重定向41
16.3 保存并获取属性参数43
16.3.1 注解@RequestAttribute43
16.3.2 注解@SessionAttribute和注解@SessionAttributes45
16.3.3 注解@CookieValue和注解@RequestHeader48
16.4 验证表单49
16.4.1 使用JSR 303注解验证输入内容49
16.4.2 使用验证器53
16.5 数据模型56
16.6 视图和视图解析器58
16.6.1 视图58
16.6.2 视图解析器61
16.6.3 实例:Excel视图的使用62
16.7 上传文件65
16.7.1 MultipartResolver概述66
16.7.2 提交上传文件表单69
第17章 构建REST风格网站73
17.1 REST风格的特点73
17.1.1 REST风格的概念73
17.1.2 注解@ResponseBody的使用75
17.2 Spring MVC对REST风格的支持76
17.2.1 Spring MVC支持REST风格的注解77
17.2.2 返回结果封装81
17.3 RestTemplate的使用84
第18章 Spring MVC高级应用89
18.1 Spring MVC处理器执行的过程89
18.1.1 HandlerMethodArgumentResolver机制90
18.1.2 转换器和格式化器概述92
18.1.3 一对一转换器(Converter)93
18.1.4 数组和集合转换器(GenericConverter)96
18.1.5 格式化器(Formatter)100
18.1.6 HttpMessageConverter消息转换器103
18.2 拦截器106
18.2.1 拦截器的定义106
18.2.2 单个拦截器的执行流程107
18.2.3 开发拦截器108
18.2.4 多个拦截器执行的顺序109
18.3 为控制器添加通知112
18.4 处理异常116
18.5 国际化117
18.5.1 概述117
18.5.2 MessageSource接口119
18.5.3 CookieLocaleResolver和SessionLocaleResolver121
18.5.4 国际化拦截器(LocaleChangeInterceptor)122
18.5.5 开发国际化123
第5部分 Redis应用
第19章 Redis概述126
19.1 Redis在Java Web中的应用127
19.1.1 缓存127
19.1.2 高速读/写场景128
19.2 Redis的安装和使用129
19.2.1 在Windows环境下安装Redis129
19.2.2 在Linux下安装Redis131
19.3 Redis的Java API133
19.3.1 在Java程序中使用Redis133
19.3.2 在Spring中使用Redis134
19.4 Redis的数据结构简介141
19.5 Redis和关系数据库的差异142
第20章 Redis数据结构和其常用命令144
20.1 Redis数据结构DD字符串145
20.2 Redis数据结构DD哈希150
20.3 Redis数据结构DD链表154
20.4 Redis数据结构DD集合160
20.5 Redis数据结构DD有序集合163
20.5.1 Redis基础命令163
20.5.2 spring-data-redis对有序集合的封装166
20.5.3 使用Spring操作有序集合168
第21章 Redis的一些常用技术171
21.1 Redis事务171
21.1.1 Redis的基础事务172
21.1.2 探索Redis事务回滚174
21.1.3 使用watch命令监控事务175
21.2 流水线178
21.3 发布订阅180
21.4 超时命令184
21.5 使用Lua语言186
21.5.1 执行输入Lua程序代码186
21.5.2 执行Lua文件190
第22章 Redis配置193
22.1 Redis配置文件193
22.2 Redis备份(持久化)194
22.2.1 快照备份194
22.2.2 AOF备份195
22.3 Redis内存回收策略196
22.4 复制197
22.4.1 主从同步基础概念198
22.4.2 Redis主从同步配置198
22.4.3 Redis主从同步的过程199
22.5 哨兵模式201
22.5.1 哨兵模式概述201
22.5.2 搭建哨兵模式202
22.5.3 在Java中使用哨兵模式204
22.5.4 哨兵模式的其他配置项207
22.6 Redis集群207
22.6.1 概述207
22.6.2 搭建Redis集群210
22.6.3 在Spring中使用Redis集群215
第23章 Spring缓存机制和Redis的结合217
23.1 Redis和数据库的结合217
23.1.1 Redis和数据库读操作218
23.1.2 Redis和数据库写操作219
23.2 使用Spring缓存机制整合Redis220
23.2.1 准备测试环境220
23.2.2 Spring的缓存管理器224
23.2.3 缓存注解简介226
23.2.4 注解@Cacheable和@CachePut226
23.2.5 注解@CacheEvict230
23.2.6 不适用缓存的方法231
23.2.7 自调用失效问题231
23.2.8 Redis缓存管理器的配置DDRedisCacheConfiguration232
23.3 RedisTemplate的实例234
第6部分 Spring微服务基础
第24章 Spring Boot入门238
24.1 Spring Boot的概念238
24.1.1 什么是Spring Boot?238
24.1.2 为什么要使用Spring Boot?239
24.1.3 为什么需要学习传统Spring应用程序?239
24.2 搭建Spring Boot开发环境239
24.2.1 使用Eclipse开发Spring Boot项目240
24.2.2 使用IntelliJ IDEA开发Spring Boot项目242
24.2.3 运行Spring Boot项目243
24.3 认识Spring Boot项目和开发244
24.3.1 Spring Boot项目是如何运行的244
24.3.2 在Spring Boot项目中如何进行自定义开发246
24.3.3 使用JSP视图249
第25章 Spring Boot开发252
25.1 使用Spring Boot开发数据库252
25.1.1 配置数据源252
25.1.2 整合MyBatis258
25.1.3 数据库事务264
25.2 使用Spring MVC264
25.2.1 使用WebMvcConfigurer接口265
25.2.2 使用Spring Boot的Spring MVC配置266
25.2.3 使用转换器266
25.3 使用Redis268
25.3.1 配置和使用Redis268
25.3.2 使用缓存管理器272
第26章 Spring Boot部署、测试和监控274
26.1 打包、部署和运行Spring Boot项目275
26.1.1 打包Spring Boot项目275
26.1.2 运行Spring Boot项目276
26.1.3 修改Spring Boot项目的配置277
26.2 Spring Boot Actuator278
26.2.1 Actuator端点简介278
26.2.2 保护Actuator端点280
26.2.3 配置项281
26.2.4 自定义端点283
26.2.5 健康指标项286
26.3 测试289
26.3.1 基本测试290
26.3.2 使用随机端口测试REST风格的请求291
26.3.3 Mock测试292
第27章 Spring Cloud微服务入门295
27.1 微服务架构的概念295
27.1.1 微服务的风格295
27.1.2 微服务架构总结298
27.2 Spring Cloud基础架构和概念298
27.2.1 Spring Cloud概述299
27.2.2 Spring Cloud的架构、组件和基础概念299
27.3 服务治理和服务发现301
27.3.1 服务治理中心DDEureka301
27.3.2 服务发现303
27.3.3 高可用305
27.3.4 基础架构307
27.4 服务调用DDRibbon309
27.4.1 Ribbon概述310
27.4.2 Ribbon实例310
27.4.3 Ribbon工作原理312
27.5 断路器DDHystrix315
27.5.1 Hystrix的使用316
27.5.2 舱壁隔离321
27.5.3 Hystrix仪表盘323
27.7 服务调用DDOpenFeign327
27.7.1 入门实例327
27.7.2 在OpenFeign中使用Hystrix330
27.8 旧网关DDZuul331
27.8.1 入门实例332
27.8.2 过滤器333
27.9 新网关DDGateway337
27.9.1 入门实例338
27.9.2 Gateway中的术语340
27.9.3 Gateway已有断言和过滤器的使用340
27.9.4 自定义过滤器345
27.10 新断路器DDResilience4j347
27.10.1 断路器348
27.10.2 限速器350
27.10.3 舱壁隔离352
27.10.4 限时器353
第7部分 系统实践
第28章 高并发系统设计和Spring微服务实例356
28.1 高并发系统设计356
28.1.1 高并发系统的优化经验356
28.1.2 性能357
28.1.3 高可用363
28.2 微服务实例365
28.2.1 Spring Boot下的整合(product模块)366
28.2.2 服务调用(user模块)376
28.2.3 网关(gateway模块)378
28.2.4 测试380
附录A 数据库表模型381
点击展开
点击收起
— 没有更多了 —
以下为对购买帮助不大的评价