Java EE互联网轻量级框架整合开发 SSM+Redis+Spring微服务(全2册)
全新正版 假一赔十 可开发票
¥
130.51
6.6折
¥
199
全新
库存4件
作者杨开振,刘家成 著
出版社电子工业出版社
ISBN9787121413995
出版时间2021-07
装帧平装
开本16开
定价199元
货号1202418800
上书时间2024-11-03
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
"杨开振,技术畅销书作家,精通Java 互联网技术开发和实践,拥有十余年一线企业开发经验,著有业内畅销书《深入浅出MyBatis 技术原理与实战》《深入浅出Spring Boot 2.x》和《Spring Cloud微服务和分布式系统实践》等。写作特点是技术点详尽准确、文字浅显易懂,立志于用书普及基础技术。
刘家成,资深软件工程师,曾任职Synnex中国、亚信国际等,在电信、分销领域有丰富经验,在Java高并发和Spring生态有深刻的理解。"
目录
上册
第1部分入门和技术基础
第1章JavaEE基础2
1.1JavaEE概述2
1.1.1JavaEE容器3
1.1.2JavaEE组件3
1.2开发环境简介4
1.2.1Tomcat简介4
1.2.1Maven5
1.2.3Web项目结构6
1.2.4Web项目发布包7
1.3Web容器的组件――Servlet7
1.3.1Servlet入门实例7
1.3.2Servlet的生命周期8
1.3.3HttpServletRequest的应用12
1.3.4HttpServletResponse的应用14
1.3.5过滤器的使用17
1.3.6监听20
1.3.7Servlet容器初始化器21
1.3.8使用Cookie23
1.3.9提交表单24
1.3.10使用web.xml26
第2章认识SSM框架、Redis和微服务28
2.1Spring框架28
2.1.1SpringIoC简介28
2.1.2SpringAOP30
2.2MyBatis简介31
2.2.1Hibernate简介32
2.2.2MyBatis34
2.2.3Hibernate和MyBatis的区别35
2.3SpringMVC简介36
2.4最流行的NoSQL――Redis36
2.5SSM+Redis结构框图及概述37
2.6Spring微服务38
第3章Java设计模式40
3.1Java反射技术40
3.1.1通过反射构建对象40
3.1.2反射方法42
3.1.3实例42
3.2动态代理模式和责任链模式43
3.2.1JDK动态代理44
3.2.2CGLIB动态代理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.2Builder模式实例62
第2部分互联网持久框架――MyBatis
第4章认识MyBatis核心组件66
4.1持久层的概念和MyBatis的特点66
4.2准备MyBatis环境67
4.3MyBatis的核心组件69
4.4SqlSessionFactory70
4.4.1使用XML配置文件构建SqlSessionFactory对象70
4.4.2使用代码构建SqlSessionFactory对象72
4.5SqlSession72
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.1SqlSessionFactoryBuilder77
4.7.2SqlSessionFactory78
4.7.3SqlSession78
4.7.4Mapper78
4.8实例79
第5章MyBatis配置85
5.1概述85
5.2properties属性86
5.2.1property子元素86
5.2.2properties文件87
5.2.3程序代码传递87
5.3settings配置88
5.4typeAliases别名90
5.4.1系统定义别名91
5.4.2自定义别名92
5.5typeHandler类型转换器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.9databaseIdProvider114
5.9.1使用系统默认的databaseIdProvider114
5.9.2不使用系统规则116
5.10引入映射器的方法118
第6章映射器120
6.1概述120
6.2select元素――查询语句121
6.2.1简单的select元素的应用122
6.2.2自动映射和驼峰映射123
6.2.3传递多个参数124
6.2.4使用resultMap映射结果集127
6.2.5分页参数RowBounds127
6.3insert元素――插入语句129
6.3.1概述129
6.3.2简单的insert语句的应用130
6.3.3主键回填130
6.3.4自定义主键131
6.4update元素和delete元素132
6.5sql元素132
6.6参数133
6.6.1概述133
6.6.2存储过程参数支持134
6.6.3特殊字符串的替换和处理(#和$)134
6.7resultMap元素134
6.7.1resultMap元素的构成135
6.7.2使用Map存储结果集136
6.7.3使用POJO存储结果集136
6.8级联137
6.8.1MyBatis中的级联137
6.8.2建立POJO140
6.8.3配置映射文件143
6.8.4N+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.1IN和OUT参数存储过程162
6.10.2游标的使用164
第7章动态SQL167
7.1概述167
7.2if元素167
7.3choose、when和otherwise元素168
7.4trim、where和set元素169
7.5foreach元素170
7.6用test的属性判断字符串171
7.7bind元素171
第8章MyBatis的解析和运行原理173
8.1构建SqlSessionFactory过程174
8.1.1构建Configuration175
8.1.2构建映射器的内部组成176
8.1.3构建SqlSessionFactory178
8.2SqlSession运行过程179
8.2.1映射器的动态代理179
8.2.2SqlSession运行原理183
第9章插件192
9.1插件接口192
9.2插件的初始化193
9.3插件的代理和反射设计194
9.4常用的工具类――MetaObject197
9.5插件开发过程和实例198
9.5.1确定需要拦截的签名198
9.5.2实现拦截方法200
9.5.3配置和运行202
9.5.4插件实例――分页插件203
第3部分Spring基础
第10章SpringIoC的概念216
10.1Spring概述216
10.2SpringIoC概述218
10.2.1主动创建对象219
10.2.2被动创建对象220
10.2.3SpringIoC阐述222
10.3SpringIoC容器223
10.3.1SpringIoC容器的设计223
10.3.2SpringIoC容器的初始化227
10.3.3SpringBean的生命周期228
第11章装配SpringBean233
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自动装配――@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.9Bean的作用域265
11.10使用Spring表达式268
11.10.1SpringEL相关的类268
11.10.2Bean的属性和方法270
11.10.3使用类的静态常量和方法271
11.10.4SpringEL运算271
第12章面向切面编程273
12.1一个简单的约定游戏273
12.1.1约定规则273
12.1.2读者的代码275
12.1.3笔者的代码277
12.2SpringAOP的基本概念279
12.2.1AOP的概念和使用原因279
12.2.2面向切面编程的术语283
12.2.3Spring对AOP的支持285
12.3使用注解@AspectJ开发SpringAOP285
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配置开发SpringAOP297
12.4.1各类通知299
12.4.2环绕通知301
12.4.3向通知传递参数302
12.4.4引入302
12.5经典SpringAOP应用程序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.3JDBC代码失控的解决方案――JdbcTemplate315
13.3.1JdbcTemplate的增、删、查、改316
13.3.2执行多条SQL语句317
13.3.3JdbcTemplate的源码分析319
13.4MyBatis-Spring项目320
13.4.1配置SqlSessionFactoryBean321
13.4.2SqlSessionTemplate的配置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.1Spring数据库事务管理器的设计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部分SpringMVC框架
第15章SpringMVC的初始化和流程2
15.1MVC设计概述2
15.1.1SpringMVC的架构3
15.1.2SpringMVC组件与流程4
15.1.3SpringMVC入门实例5
15.2SpringMVC初始化9
15.2.1初始化SpringIoC上下文10
15.2.2初始化映射请求上下文10
15.2.3使用注解配置方式初始化16
15.2.4WebMvcConfigurer接口20
15.3SpringMVC开发流程详解21
15.3.1注解@RequestMapping的使用21
15.3.2控制器的开发23
15.3.3视图渲染27
第16章SpringMVC基础组件开发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使用JSR303注解验证输入内容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.1MultipartResolver概述66
16.7.2提交上传文件表单69
第17章构建REST风格网站73
17.1REST风格的特点73
17.1.1REST风格的概念73
17.1.2注解@ResponseBody的使用75
17.2SpringMVC对REST风格的支持76
17.2.1SpringMVC支持REST风格的注解77
17.2.2返回结果封装81
17.3RestTemplate的使用84
第18章SpringMVC高级应用89
18.1SpringMVC处理器执行的过程89
18.1.1HandlerMethodArgumentResolver机制90
18.1.2转换器和格式化器概述92
18.1.3一对一转换器(Converter)93
18.1.4数组和集合转换器(GenericConverter)96
18.1.5格式化器(Formatter)100
18.1.6HttpMessageConverter消息转换器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.2MessageSource接口119
18.5.3CookieLocaleResolver和SessionLocaleResolver121
18.5.4国际化拦截器(LocaleChangeInterceptor)122
18.5.5开发国际化123
第5部分Redis应用
第19章Redis概述126
19.1Redis在JavaWeb中的应用127
19.1.1缓存127
19.1.2高速读/写场景128
19.2Redis的安装和使用129
19.2.1在Windows环境下安装Redis129
19.2.2在Linux下安装Redis131
19.3Redis的JavaAPI133
19.3.1在Java程序中使用Redis133
19.3.2在Spring中使用Redis134
19.4Redis的数据结构简介141
19.5Redis和关系数据库的差异142
第20章Redis数据结构和其常用命令144
20.1Redis数据结构――字符串145
20.2Redis数据结构――哈希150
20.3Redis数据结构――链表154
20.4Redis数据结构――集合160
20.5Redis数据结构――有序集合163
20.5.1Redis基础命令163
20.5.2spring-data-redis对有序集合的封装166
20.5.3使用Spring操作有序集合168
第21章Redis的一些常用技术171
21.1Redis事务171
21.1.1Redis的基础事务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.1Redis配置文件193
22.2Redis备份(持久化)194
22.2.1快照备份194
22.2.2AOF备份195
22.3Redis内存回收策略196
22.4复制197
22.4.1主从同步基础概念198
22.4.2Redis主从同步配置198
22.4.3Redis主从同步的过程199
22.5哨兵模式201
22.5.1哨兵模式概述201
22.5.2搭建哨兵模式202
22.5.3在Java中使用哨兵模式204
22.5.4哨兵模式的其他配置项207
22.6Redis集群207
22.6.1概述207
22.6.2搭建Redis集群210
22.6.3在Spring中使用Redis集群215
— 没有更多了 —
以下为对购买帮助不大的评价