全书目录:《Spring Boot 实战开发 》(陈光剑 编著)

image.png
  1. Spring Boot 简介 15
    1.1. 从 Spring 到Spring Boot 16
    1.1.1. 从 EJB 到 Spring 16
    1.1.2. Spring 框架发展简史 19
    1.1.3. Spring 框架的核心模块 21
    1.1.4. Spring 新生态 28
    1.2. Spring Boot 是什么 29
    1.3. Spring Boot 框架组成 30
    1.3.1. spring-boot 31
    1.3.2. spring-boot-starters 31
    1.3.3. spring-boot-autoconfigure 31
    1.3.4. spring-boot-actuator 32
    1.3.5. spring-boot-tools 32
    1.3.6. spring-boot-cli 32
    1.4. Spring Boot 极简特性 32
    1.5. 约定优于配置极简化理念 34
    1.6. Spring 5.0 新特性 36
    1.7. Spring Boot 2.0 新特性 36
    1.8. Spring Cloud 简介 36
    1.9. 最新IntelliJ IDEA 2017.3版本特性 36
    1.10. 本章小结 36
  2. 快速开始 HelloWorld 36
    2.1. 创建 Spring Boot 项目 36
    2.2. Spring Boot 项目的入口类 42
    2.3. 添加 HelloWorldController 44
    2.4. Spring Boot应用级注解 @SpringBootApplication 47
    2.4.1. Spring Boot配置类注解 @SpringBootConfiguration 48
    2.4.2. XML 配置文件 VS. JavaConfig 注解配置 49
    2.4.3. 启用自动配置注解 @EnableAutoConfiguration 50
    2.4.4. 组件扫描注解 @ComponentScan 51
    2.4.5. 导入配置类注解 @Import 52
    2.5. 本章小结 52
  3. 深入理解Spring Boot 自动配置 53
    3.1. 传统 SSM 开发回顾 53
    3.1.1. 创建 Maven 工程 53
    3.1.2. 添加源代码和资源目录 58
    3.1.3. 引入项目依赖的JAR包 60
    3.1.4. 配置 Spring 上下文spring.xml 63
    3.1.5. 配置 SpringMVC 的上下文spring-mvc.xml 66
    3.1.6. DispatcherServlet在web.xml中的配置 68
    3.1.7. 完整的 web.xml 配置 68
    3.1.8. mybatis-generator配置 73
    3.1.9. 数据库表结构 74
    3.1.10. MapperScanner和SqlSessionFactoryBean配置 75
    3.1.11. Service 层和 Controller 层代码 80
    3.1.12. 配置 Tomcat 服务器 84
    3.1.13. 视图模板层代码 87
    3.2. Spring 简化 XML 配置的解决方案 91
    3.3. 自动配置的 Spring Boot 93
    3.3.1. 条件注解 @Conditional 93
    3.3.2. @Conditional注解使用实例 93
    3.3.3. 常见条件注解 105
    3.3.4. 组合注解 106
    3.4. Spring Boot Starters 106
    3.5. @EnableAutoConfiguration自动配置原理 108
    3.5.1. 自动配置过程 108
    3.5.2. spring.factories文件 110
    3.5.3. getCandidateConfigurations 方法 117
    3.6. FreeMarkerAutoConfiguration自动配置实例分析 118
    3.6.1. spring-boot-starter-freemarker工程 118
    3.6.2. spring-boot-autoconfigure工程 120
    3.7. Spring Boot Autoconfigure 工作原理图 125
    3.8. 本章小结 126
  4. Spring Boot 命令行 CLI 127
    4.1. 安装 CLI 127
    4.2. 快速开始Hello World 128
    4.3. spring命令 131
    4.4. 使用@Grab注解下载依赖 133
    4.5. beans Groovy DSL 134
    4.6. 创建项目命令 spring init 135
    4.7. 本章小结 138
  5. Spring Boot 集成 MyBatis数据库层开发 138
    5.1. Java EE 的分层模型 139
    5.1.1. 模型层 141
    5.1.2. 数据访问对象层 141
    5.1.3. 业务逻辑层 141
    5.1.4. 控制器层 141
    5.1.5. 视图层 141
    5.2. MyBatis 简介 141
    5.2.1. 概述 142
    5.2.2. MyBatis 框架组成 143
    5.2.3. 接口层 143
    5.2.4. 数据处理层 147
    5.2.5. 基础设施层 152
    5.3. 项目实战 164
    5.3.1. 使用 Spring Boot CLI 创建工程 164
    5.3.2. 配置application.properties 176
    5.3.3. 使用IDEA 中自带的连接数据库客户端 177
    5.3.4. 使用 MyBatis Generator 生成 Dao 层代码 178
    5.3.5. 配置MyBatis同时使用 Mapper.xml和注解 183
    5.3.6. 使用 MyBatis分页 插件pagehelper 186
    5.3.7. 实现查询接口 186
    5.3.8. 使用@Select注解 187
    5.3.9. Mybatis插件机制 190
    5.3.10. 实现分页接口 192
    5.3.11. PageHelper工作原理 197
    5.3.12. 多表关联查询级联 206
    5.4. 本章小结 211
  6. Spring Boot 集成 JPA数据库层开发 212
    6.1. JPA是什么 212
    6.1.1. JPA 简介 212
    6.1.2. JPA 整体架构 212
    6.1.3. JPA 生态 214
    6.1.4. JPA 技术栈 217
    6.1.5. ORM 框架概述 217
    6.2. Hibernate 简介 219
    6.2.1. Hibernate 模块组成 219
    6.2.2. Hibernate整体架构 219
    6.2.3. Hibernate 特性 226
    6.2.4. Hibernate 与 MyBatis 简单对比 228
    6.3. Spring Data JPA简介 228
    6.3.1. Spring Data 项目 229
    6.3.2. Spring Data JPA概述 232
    6.4. 项目实战 232
    6.4.1. Spring Data JPA提供的接口 232
    6.4.2. 创建项目 233
    6.4.3. 工程导入 IDEA 235
    6.4.4. 配置数据库 237
    6.4.5. 自动生成 Entity 实体类代码 238
    6.4.6. 配置项目数据源信息 248
    6.4.7. 实现查询接口 248
    6.4.8. 分页查询 253
    6.4.9. 多表级联查询 256
    6.4.10. 级联类型CascadeType 259
    6.4.11. 模糊搜索接口 261
    6.4.12. JPQL语法基础 263
    6.4.13. JPA常用注解 269
    6.5. 本章小结 271
  7. 开发 Spring Boot Gradle插件实现自动化生成代码脚手架 271
    7.1. Gradle 简介 272
    7.1.1. Gradle 概述 272
    7.1.2. Gradle 特性 273
    7.1.3. Gradle 构建生命周期 273
    7.1.4. Gradle 仓库 274
    7.1.5. 约定优于配置 275
    7.1.6. 发布 Gradle 项目生成的构件 275
    7.1.7. Groovy 特点简介 276
    7.2. Gradle 插件 276
    7.2.1. Gradle 插件概述 277
    7.2.2. 常用 Gradle插件 277
    7.2.3. java 插件 277
    7.2.4. application 插件 280
    7.3. 项目实战 281
    7.3.1. 创建项目 281
    7.3.2. 添加依赖 287
    7.3.3. 配置上传本地Maven仓库 287
    7.3.4. 实现 Plugin 288
    7.3.5. 添加插件属性配置 296
    7.3.6. 运行测试 297
    7.3.7. 在项目中使用kor插件 300
    7.4. 本章小结 304
  8. Spring Boot 使用 Spring MVC 和FreeMarker开发 Web 应用 305
    8.1. Spring MVC 简介 305
    8.1.1. Servlet 概述 305
    8.1.2. MVC 简介 310
    8.1.3. Spring、Spring MVC 与 Spring Boot 2.0 312
    8.1.4. Spring MVC 框架 313
    8.2. Spring MVC 常用注解 317
    8.3. 使用FreeMarker模板引擎 319
    8.3.1. FreeMarker简介 319
    8.3.2. 实现一个分页查询页面 320
    8.4. 本章小结 330
  9. Spring Boot 自定义 SpringMVC配置 331
    9.1. 配置父类WebMvcConfigurationSupport 331
    9.2. 静态资源处理配置类ResourceHandler 334
    9.3. 拦截器配置类HandlerInterceptor 335
    9.4. 跨域支持配置类CorsRegistry 337
    9.5. 添加视图控制器ViewController 338
    9.6. 消息转换器MessageConverter 338
    9.7. 数据格式化器 Formatter 340
    9.8. 视图解析器ViewResolver配置 340
    9.9. 全局异常处理ExceptionHandler 341
    9.9.1. 使用 @ControllerAdvice + @ExceptionHandler实现统一异常处理 342
    9.9.2. 实现 HandlerExceptionResolver 接口 344
    9.10. 定制与优化内置Tomcat容器 347
    9.11. 定制 Spring Boot 应用程序启动 Banner 351
    9.12. 本章小结 356
  10. Spring Boot注册 Servlet、Filter 和 Listener 356
    10.1. 创建项目 356
    10.2. 注册 Servlet 358
    10.3. 注册 Filter 362
    10.4. 注册 Listener 369
    10.5. 本章小结 370
  11. Spring Boot AOP 面向切面编程 371
    11.1. AOP 简介 371
    11.2. AOP 核心概念 372
    11.3. Spring AOP介绍 374
    11.4. 项目实战:实现日志切面 375
    11.4.1. 创建项目 375
    11.4.2. 添加 aop 依赖aspectjweaver 382
    11.4.3. 切面逻辑实现 384
    11.4.4. @Pointcut匹配表达式 385
    11.4.5. 运行测试 386
    11.5. 本章小结 387
  12. Spring Boot 使用 AOP + Filter实现用户登录鉴权与权限控制 387
    12.1. 系统整体架构 387
    12.2. 创建工程 389
    12.3. 数据库表结构设计 394
    12.4. 用户登录逻辑 395
    12.5. 登录态鉴权过滤器 401
    12.5.1. 用户鉴权逻辑 401
    12.5.2. 运行测试 404
    12.5.3. 页面展示用户名 406
    12.6. AOP实现用户权限管理 407
    12.6.1. 功能简介 407
    12.6.2. 实现权限控制 407
    12.6.3. 无权限页面 410
    12.6.4. Pointcut切入点配置 410
    12.6.5. 运行测试 411
    12.7. 用户注册 412
    12.7.1. 用户注册界面 412
    12.7.2. 模板代码 412
    12.7.3. 前端js代码 413
    12.7.4. 后端注册接口 413
    12.7.5. 数据后端校验 414
    12.7.6. 获取数据校验结果 418
    12.7.7. 运行测试 419
    12.8. 本章小结 424
  13. Spring Boot 使用 Security 实现系统的安全认证与权限控制 424
    13.1. Spring Security 简介 425
    13.1.1. Spring Security概述 425
    13.1.2. 基于Form表单登陆认证 426
    13.2. Spring Security 核心组件 427
    13.2.1. SecurityContextHolder与Security Context 427
    13.2.2. 获取当前用户的信息 428
    13.2.3. 认证信息类Authentication 429
    13.2.4. 认证管理器AuthenticationManager 430
    13.2.5. 基于数据库的认证DaoAuthenticationProvider 432
    13.2.6. UserDetails与UserDetailsService 433
    13.3. 项目实战 435
    13.3.1. 初阶 Security: 默认认证用户名密码 435
    13.3.2. 中阶 Security:内存用户名密码认证 441
    13.3.3. 角色权限控制 445
    13.3.4. 进阶 Security: 基于数据库的用户和角色权限 453
    13.4. 本章小结 477
  14. React.js + Spring Boot 开发前后端分离项目 477
    14.1. 前后端分离架构 478
    14.1.1. 前端简史 478
    14.1.2. ECMAScript的历史 478
    14.1.3. 从后端走向前端 479
    14.1.4. 前后端分离架构 480
    14.2. 项目实战 481
    14.2.1. 系统功能介绍 482
    14.2.2. 实现登陆后端接口 483
    14.2.3. 实现登陆前端页面 486
    14.2.4. 用户登录状态接口 488
    14.2.5. 实现列表展示后端接口 490
    14.2.6. 实现列表展示前端页面 491
    14.2.7. 前后端集成配置 492
    14.2.8. 前后端联调测试 492
    14.3. 本章小结 495
  15. Spring Boot 定时任务 496
    15.1. 定时任务概述 496
    15.2. 静态定时任务 496
    15.3. Cron 表达式 498
    15.3.1. Cron简介 498
    15.3.2. Cron 表达式字段范围 499
    15.3.3. Cron 表达式特殊字符 499
    15.3.4. 常用的 Cron 表达式 500
    15.4. 动态定时任务 501
    15.4.1. 实现SchedulingConfigurer接口 501
    15.4.2. 从数据库中读取 cron 表达式值 502
    15.4.3. 数据库初始化数据 502
    15.4.4. 多线程执行 503
    15.4.5. 添加多个任务 504
    15.5. 本章小结 505
  16. Spring Boot 集成 Web Flux 开发 Reactive Web 应用 506
    16.1. 响应式宣言 506
    16.2. Spring 5 响应式Web框架架构图 506
    16.3. 项目实战 508
    16.3.1. 创建项目 508
    16.3.2. 项目结构 511
    16.3.3. 领域实体层 513
    16.3.4. 服务层 514
    16.3.5. 控制器路由层 515
    16.3.6. Reactive Web服务器配置 516
    16.3.7. 项目启动入口类 517
    16.3.8. 启动运行 517
    16.3.9. 测试输出 518
    16.4. 本章小结 519
  17. Spring Boot 应用监控:Actuator与 Admin 519
    17.1. Actuator简介 519
    17.2. 启用 Actuator 520
    17.3. 揭秘Endpoint端点 522
    17.3.1. /actuator获取actuator 列表 522
    17.3.2. /beans获取 Bean 装配信息 524
    17.3.3. /conditions获取自动配置条件信息 526
    17.3.4. /configprops获取配置属性信息 527
    17.3.5. /env系统运行环境信息 529
    17.3.6. /info 应用基本信息 532
    17.3.7. /health 获取应用健康信息 532
    17.3.8. /loggers系统日志信息 533
    17.3.9. /threaddump系统线程转储信息 534
    17.3.10. /metrics系统度量指标列表 536
    17.3.11. /scheduledtasks系统定时任务信息 537
    17.3.12. /trace系统请求跟踪 538
    17.3.13. /mappings系统请求 URL 映射信息 539
    17.3.14. 启用和禁用端点 541
    17.4. 自定义Actuator Endpoint 543
    17.4.1. Endpoint接口简介 543
    17.4.2. 实现Endpoint接口 547
    17.4.3. 继承AbstractEndpoint抽象类 549
    17.4.4. 实现健康指标接口HealthIndicator 554
    17.4.5. 实现度量指标接口PublicMetrics 555
    17.4.6. SystemPublicMetrics成员方法简介 556
    17.4.7. 使用 AOP 实现CounterService、GaugeService接口统计方法执行数据 559
    17.5. 使用Spring Boot Admin可视化 Actuator 监控数据 564
    17.5.1. Spring Boot Admin简介 564
    17.5.2. 工作原理简介 568
    17.5.3. 创建Spring Boot Admin Server 项目 569
    17.5.4. 在 Client 端的 Spring Boot项目中配置使用Admin Server 571
    17.6. 本章小结 579
  18. Spring Boot 应用的测试 580
    18.1. 项目准备工作 580
    18.1.1. 创建项目 580
    18.1.2. 导入项目到 IDEA 581
    18.1.3. 设计项目目录结构 581
    18.2. 项目配置 582
    18.2.1. Gradle构建配置文件 582
    18.2.2. 项目属性文件配置 584
    18.3. 项目代码开发 584
    18.3.1. Entity 层代码 584
    18.3.2. Dao 层代码 585
    18.3.3. Service 层代码 585
    18.3.4. Controller 层代码 586
    18.4. 项目分层测试 586
    18.4.1. 测试代码目录结构 587
    18.4.2. Dao 层测试 588
    18.4.3. Service 层测试 589
    18.4.4. 使用 Mockito 测试 Service 层代码 590
    18.4.5. Controller 层测试 592
    18.4.6. JSON接口数据的测试断言 596
    18.5. 本章小结 600
  19. 使用 Docker 构建部署运行 Spring Boot 应用 600
    19.1. 创建测试项目 600
    19.2. 项目打包成可执行 jar 603
    19.3. 定制配置文件启动应用 606
    19.4. 项目打包成 war 包 608
    19.5. 生产运维 610
    19.5.1. 查看JVM参数的值 610
    19.5.2. 应用重启 611
    19.6. 使用 Docker 构建部署运行Spring Boot应用 611
    19.6.1. Docker 简介 611
    19.6.2. 环境搭建 613
    19.7. Spring Boot 项目 Docker化实战 617
    19.7.1. 添加 docker 构建插件 618
    19.7.2. 配置 Dockerfile 文件创建自定义的镜像 618
    19.7.3. Dockerfile配置说明 620
    19.7.4. 构建自定义的应用 Docker镜像 623
    19.7.5. 启动 Docker 应用镜像运行 623
    19.7.6. 端口映射 624
    19.7.7. 运行测试 626
    19.8. 本章小结 627
  20. 附录 I : Spring 5.0 新特性 628
  21. 附录 II : Spring Boot 2.0 新特性 641
    21.1.1. Kotlin 特性支持 641
    21.1.2. Spring Boot 2.0.0 M1 Release Notes 642
    21.1.3. Spring Boot 2.0.0 M2 Release Notes 648
    21.1.4. Spring Boot 2.0.0 M3 Release Notes 651
    21.1.5. Spring Boot 2.0.0 M4 Release Notes 652
    21.1.6. Spring Boot 2.0.0 M5 Release Notes 655
    21.1.7. Spring Boot 2.0.0 M6 Release Notes 657
    21.1.8. Spring Boot 2.0.0 M7 Release Notes 660
  22. 附录 III: Spring Cloud 简介 664
  23. 附录 IV:最新IntelliJ IDEA 2017.3版本特性 666
  24. 附录 V:Spring Boot CLI 的 spring init 命令行支持项 667

新书上架:《Spring Boot 开发实战》

— 基于 Kotlin + Gradle + Spring Boot 2.0 的企业级服务端开发实战

京东下单链接

https://item.jd.com/31178320122.html

天猫下单链接

https://detail.tmall.com/item.htm?id=574928877711

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,839评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,543评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,116评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,371评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,384评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,111评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,416评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,053评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,558评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,007评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,117评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,756评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,324评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,315评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,539评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,578评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,877评论 2 345

推荐阅读更多精彩内容