万本电子书0元读

万本电子书0元读

顶部广告

轻量级Java EE企业应用开发实战电子书

本书全面介绍了学习Java EE企业级发所需要的技术以及知识,技术包括Maven、Tomcat、Jetty、Servlet、JDBC、Spring、Spring Web MVC、Spring Security、MyBatis、MySQL、Thymeleaf、Bootstrap、Jersey、Spring Boot、Spring Cloud等源技术栈,知识涉及数据库、IoC、AOP、单元测试、集成测试、事务管理、MVC、安全认证、数据持久化、REST、WebSocket、消息通信、Email发送、任务执行与调度、缓存、微服务治理等。 本书内容丰富,案例新颖,由浅深,层层推,理论联系实际,具有较强的实操性和先性,所讲的知识既能满足当前企业级应用的发需求,又可以大幅度减轻发者的负担。

售       价:¥

纸质售价:¥69.50购买纸书

51人正在读 | 0人评论 6.2

作       者:柳伟卫

出  版  社:清华大学出版社

出版时间:2021-04-01

字       数:34.2万

所属分类: 科技 > 计算机/网络 > 程序设计

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
本书由资深Java工程师结合多年大厂发经验精心编撰,全面系统地介绍Java EE企业级发所需要的轻量级源技术栈,涉及Maven、Servlet、Jetty、Tomcat、Spring框架、Spring Web MVC、Spring Security、MyBatis、MySQL、Thymeleaf、Bootstrap、REST客户端、Jersey、WebSocket、JMS、Email、任务执行与调度、缓存、Spring Boot、Spring Cloud等方面的内容。“轻量级”发模式已经深人心,被广大互联网公司所采用,本书从发环境搭建始,循序渐地讲解核心技术、热框架,适时结合项目与案例介绍这些技术与框架的实际应用,特别是对当前热的微服务发技术行了详细的阐述,对于拥有Java基础,想发企业项目的读者,本书可帮助你快速上手。 本书技术先,案例丰富,主要面向对Java EE企业级发感兴趣的计算机专业学生、软件工程师、系统架构师等,也可以用作软件学院或培训机构的教学用书。<br/>【推荐语】<br/>本书全面介绍了学习Java EE企业级发所需要的技术以及知识,技术包括Maven、Tomcat、Jetty、Servlet、JDBC、Spring、Spring Web MVC、Spring Security、MyBatis、MySQL、Thymeleaf、Bootstrap、Jersey、Spring Boot、Spring Cloud等源技术栈,知识涉及数据库、IoC、AOP、单元测试、集成测试、事务管理、MVC、安全认证、数据持久化、REST、WebSocket、消息通信、Email发送、任务执行与调度、缓存、微服务治理等。 本书内容丰富,案例新颖,由浅深,层层推,理论联系实际,具有较强的实操性和先性,所讲的知识既能满足当前企业级应用的发需求,又可以大幅度减轻发者的负担。 本书适合拥有Java发基础、想手学习Java Web发的人员,也适合想学习当前热轻量级框架发的读者,对于想系统学习Java EE企业级应用发技术的读者尤其适合。 通过本书的学习,读者可以掌握Java EE轻量级企业发技术,拓展视野,提升职场竞争能力。<br/>【作者】<br/>柳伟卫,网名waylau、老卫,80后程序员,从业十余年,关注编程、系统架构、性能优化;CSDN、源中国、云栖社区等技术社区专家,慕课网特邀讲师;在IT公司担任过项目经理、架构师、高级技术顾问等职位,具有丰富的软件发管理及系统架构经验;主导过多个、省级大型分布式系统设计与研发,参与过面向全球的供应系统服务化改造,积累了大量的分布式系统、微服务架构经验;已出版《分布式系统常用技术及案例分析》《Spring Boot 企业级应用发实战》《Spring Cloud 微服务架构发实战》《Spring 5发大全》等著作。<br/>
目录展开

封面页

书名页

版权页

内容简介

作者简介

前言

目录

第1章 Java EE概述

1.1 Java EE发展简史

1.1.1 Java平台发展简史

1.1.2 Java EE现状

1.2 传统企业级应用技术的不足

1.2.1 规范太重

1.2.2 学习成本太高

1.2.3 不够灵活

1.2.4 发展缓慢

1.3 轻量级Java EE的技术特点

1.3.1 轻量级架构

1.3.2 符合二八定律

1.3.3 基于开源技术

1.3.4 支持微服务

1.3.5 可用性和扩展性

1.3.6 支撑大型互联网应用

1.4 开发环境搭建

1.4.1 安装JDK

1.4.2 Maven安装

1.4.3 安装Eclipse

1.4.4 安装IntelliJ IDEA

1.4.5 安装Apache Tomcat

1.5 总 结

1.6 习 题

第2章 项目管理——Maven

2.1 Maven概述

2.1.1 Maven的主要功能

2.1.2 创建Maven项目

2.1.3 探索Maven项目

2.1.4 构建Maven项目

2.2 理解Maven构建生命周期

2.2.1 Maven阶段

2.2.2 完整的生命周期阶段

2.2.3 生命周期阶段在命令行中的调用

2.2.4 使用构建生命周期来设置项目

2.3 理解POM

2.3.1 Super POM

2.3.2 最小化POM

2.4 实战:使用Eclipse创建Maven应用

2.4.1 创建Maven应用

2.4.2 运行Maven应用

2.4.3 导入Maven应用

2.4.4 相关问题解决

2.5 实战:使用IntelliJ IEDA创建Maven应用

2.5.1 创建Maven应用

2.5.2 运行Maven应用

2.5.3 导入Maven应用

2.5.4 相关问题解决

2.6 总 结

2.7 习 题

第3章 Web应用的基石——Servlet

3.1 Servlet概述

3.1.1 Servlet架构

3.1.2 Servlet生命周期

3.1.3 常用方法

3.2 Servlet容器

3.2.1 常用Servlet容器

3.2.2 Tomcat和Jetty的相同点

3.2.3 Tomcat和Jetty的不同点

3.2.4 总结

3.3 过滤器

3.3.1 什么是过滤器

3.3.2 过滤器生命周期

3.3.3 包装请求和响应

3.3.4 过滤器环境

3.3.5 Web应用中过滤器的配置

3.3.6 过滤器和请求分派器

3.4 请 求

3.4.1 HTTP协议参数

3.4.2 属性

3.4.3 请求头

3.4.4 请求路径元素

3.4.5 路径转换方法

3.4.6 请求数据编码

3.5 Servlet上下文

3.5.1 ServletContext接口作用域

3.5.2 初始化参数

3.5.3 配置方法

3.5.4 上下文属性

3.5.5 资源

3.6 响 应

3.6.1 缓冲

3.6.2 头

3.6.3 方法

3.7 监听器

3.7.1 事件类型和监听器接口

3.7.2 部署描述符示例

3.7.3 监听器实例和线程

3.7.4 监听器异常

3.7.5 分布式容器

3.7.6 会话事件

3.8 会 话

3.8.1 会话跟踪机制

3.8.2 创建会话

3.8.3 会话范围

3.8.4 绑定属性到会话

3.8.5 会话超时

3.8.6 最后访问时间

3.8.7 线程问题

3.8.8 分布式环境

3.8.9 客户端语义

3.9 实战:创建基于Servlet的Web应用

3.9.1 创建动态Web项目

3.9.2 创建Servlet实现类

3.9.3 编译应用

3.9.4 运行应用

3.10 Tomcat服务器概述

3.10.1 Tomcat目录结构

3.10.2 Tomcat主要组件

3.10.3 Tomcat处理HTTP请求的过程

3.11 实战:在应用里面内嵌Tomcat容器

3.11.1 安装tomcat7-maven-plugin

3.11.2 运行应用

3.11.3 访问应用

3.12 Jetty服务器概述

3.12.1 高性能Servlet容器

3.12.2 可拔插

3.12.3 Jetty常用配置

3.13 实战:在应用里面内嵌Jetty容器

3.13.1 Maven插件形式

3.13.2 编程方式

3.14 总 结

3.15 习 题

第4章 流行的开源关系型数据库——MySQL

4.1 MySQL概述

4.1.1 MySQL名字的由来

4.1.2 MySQL的发展历程

4.1.3 MySQL的特点

4.2 MySQL的安装

4.2.1 下载安装包

4.2.2 解压安装包

4.2.3 创建my.ini

4.2.4 初始化安装

4.2.5 启动和关闭MySQL Server

4.3 使用MySQL客户端

4.4 MySQL基本操作

4.5 总 结

4.6 习 题

第5章 Java操作数据库——JDBC

5.1 JDBC概述

5.2 JDBC的核心概念

5.2.1 建立连接

5.2.2 执行SQL并操作结果集

5.2.3 两层模型

5.2.4 三层模型

5.2.5 JDBC与Java EE平台的关系

5.3 使用PreparedStatement

5.3.1 创建PreparedStatement对象

5.3.2 为什么使用PreparedStatement

5.4 事务管理

5.4.1 事务边界和自动提交

5.4.2 关闭自动提交模式

5.4.3 事务隔离级别

5.4.4 性能考虑

5.4.5 保存点

5.5 实战:使用JDBC操作数据库

5.5.1 初始化数据库

5.5.2 建表

5.5.3 初始化应用

5.5.4 创建测试类

5.6 理解连接池技术

5.7 实战:使用数据库连接池DBCP

5.7.1 添加DBCP依赖

5.7.2 编写数据库工具类

5.7.3 理解DbUtil的配置化

5.7.4 编写测试用例

5.8 总 结

5.9 习 题

第6章 一站式应用框架——Spring

6.1 Spring概述

6.1.1 Spring的广义与狭义

6.1.2 Spring框架总览

6.1.3 Spring框架常用模块

6.1.4 Spring设计模式

6.2 IoC

6.2.1 依赖注入与控制反转

6.2.2 IoC容器和Bean

6.2.3 配置元数据

6.2.4 实例化容器

6.2.5 使用容器

6.2.6 Bean的命名

6.2.7 实例化bean的方式

6.2.8 注入方式

6.2.9 实战:依赖注入的例子

6.2.10 依赖注入的详细配置

6.2.11 使用depends-on

6.2.12 延迟加载bean

6.2.13 自动装配

6.2.14 方法注入

6.2.15 bean scope

6.2.16 singleton bean与prototype bean

6.2.17 理解生命周期机制

6.2.18 基于注解的配置

6.2.19 基于注解的配置与基于XML的配置

6.3 AOP

6.3.1 AOP概述

6.3.2 AOP核心概念

6.3.3 Spring AOP

6.3.4 AOP代理

6.3.5 实战:使用@AspectJ的例子

6.3.6 基于XML的AOP

6.3.7 实战:基于XML的AOP的例子

6.4 资源处理

6.4.1 常用资源接口

6.4.2 内置资源接口实现

6.4.3 ResourceLoader

6.4.4 ResourceLoaderAware

6.4.5 资源作为依赖

6.5 表达式语言SpEL

6.5.1 表达式接口

6.5.2 对于bean定义的支持

6.5.3 实战:使用SpEL的例子

6.6 总 结

6.7 习 题

第7章 Spring测试

7.1 测试概述

7.1.1 传统的测试所面临的问题

7.1.2 如何破解测试面临的问题

7.1.3 测试类型

7.1.4 测试范围及比例

7.2 Mock对象

7.2.1 Environment

7.2.2 JNDI

7.2.3 Servlet API

7.3 测试工具类

7.3.1 测试工具

7.3.2 测试Spring Web MVC

7.4 测试相关的注解

7.4.1 @BootstrapWith

7.4.2 @ContextConfiguration

7.4.3 @WebAppConfiguration

7.4.4 @ContextHierarchy

7.4.5 @ActiveProfiles

7.4.6 @TestPropertySource

7.4.7 @DirtiesContext

7.4.8 @TestExecutionListeners

7.4.9 @Commit

7.4.10 @Rollback

7.4.11 @BeforeTransaction

7.4.12 @AfterTransaction

7.4.13 @Sql

7.4.14 @SqlConfig

7.4.15 @SqlGroup

7.4.16 Spring JUnit 4注解

7.4.17 Spring JUnit Jupiter注解

7.5 Spring TestContext框架

7.5.1 Spring TestContext框架概述

7.5.2 核心抽象

7.5.3 引导TestContext

7.5.4 TestExecutionListener配置

7.5.5 上下文管理

7.5.6 测试夹具的注入

7.5.7 如何测试request bean和session bean

7.5.8 事务管理

7.5.9 执行SQL脚本

7.6 Spring MVC Test框架

7.6.1 服务端测试概述

7.6.2 选择测试策略

7.6.3 设置测试功能

7.6.4 执行请求

7.6.5 定义期望

7.6.6 注册过滤器

7.6.7 脱离容器的测试

7.6.8 实战:服务端测试Spring Web MVC的例子

7.7 总 结

7.8 习 题

第8章 Spring事务管理

8.1 事务管理概述

8.1.1 Spring事务管理优势

8.1.2 全局事务与本地事务

8.1.3 Spring事务模型

8.2 通过事务实现资源同步

8.2.1 高级别的同步方法

8.2.2 低级别的同步方法

8.2.3 TransactionAwareDataSourceProxy

8.3 声明式事务管理

8.3.1 声明式事务管理

8.3.2 实战:声明式事务管理的例子

8.3.3 事务回滚

8.3.4 配置不同的事务策略

8.3.5 @Transactional详解

8.3.6 事务传播机制

8.4 编程式事务管理

8.4.1 TransactionTemplate

8.4.2 PlatformTransactionManager

8.4.3 声明式事务管理和编程式事务管理

8.5 总 结

8.6 习 题

第9章 MVC模式的典范——Spring Web MVC

9.1 Spring Web MVC概述

9.2 DispatcherServlet

9.2.1 DispatcherServlet概述

9.2.2 上下文层次结构

9.2.3 处理流程

9.2.4 拦截

9.3 过滤器

9.3.1 HTTP PUT表单

9.3.2 转发头

9.3.3 ShallowEtagHeaderFilter

9.3.4 CORS

9.4 控制器

9.4.1 声明控制器

9.4.2 请求映射

9.4.3 处理器方法

9.4.4 模型方法

9.4.5 绑定器方法

9.5 异常处理

9.5.1 @ExceptionHandler

9.5.2 框架异常处理

9.5.3 REST API异常

9.5.4 注解异常

9.5.5 容器错误页面

9.6 CORS处理

9.6.1 @CrossOrigin

9.6.2 全局CORS配置

9.6.3 自定义

9.6.4 CORS过滤器

9.7 HTTP缓存

9.7.1 缓存控制

9.7.2 静态资源

9.7.3 控制器缓存

9.8 MVC配置

9.8.1 启用MVC配置

9.8.2 类型转换

9.8.3 验证

9.8.4 拦截器

9.8.5 内容类型

9.8.6 消息转换器

9.8.7 视图控制器

9.8.8 视图解析器

9.8.9 静态资源

9.8.10 DefaultServletHttpRequestHandler

9.8.11 路径匹配

9.9 实战:基于Spring Web MVC的JSON类型的处理

9.9.1 接口设计

9.9.2 系统配置

9.9.3 后台编码实现

9.9.4 应用配置

9.9.5 运行应用

9.10 实战:基于Spring Web MVC的XML类型的处理

9.10.1 接口设计

9.10.2 系统配置

9.10.3 后台编码实现

9.10.4 应用配置

9.10.5 运行应用

9.11 总 结

9.12 习 题

第10章 全能安全框架——Spring Security

10.1 基于角色的权限管理

10.1.1 角色的概念

10.1.2 基于角色的访问控制

10.1.3 哪种方式更好

10.1.4 真实的案例

10.2 Spring Security概述

10.2.1 Spring Security的认证模型

10.2.2 Spring Security的安装

10.2.3 模块

10.2.4 Spring Security 5的新特性及高级功能

10.3 实战:基于Spring Security安全认证

10.3.1 添加依赖

10.3.2 添加业务代码

10.3.3 配置消息转换器

10.3.4 配置Spring Security

10.3.5 创建应用配置类

10.3.6 创建内嵌Jetty的服务器

10.3.7 应用启动器

10.3.8 运行应用

10.4 总 结

10.5 习 题

第11章 轻量级持久层框架——MyBatis

11.1 MyBatis概述

11.1.1 安装MyBatis

11.1.2 MyBatis功能架构

11.1.3 MyBatis的优缺点

11.2 MyBatis四大核心组件

11.2.1 SqlSessionFactoryBuilder

11.2.2 SqlSessionFactory

11.2.3 SqlSession

11.2.4 Mapper

11.3 生命周期及作用域

11.3.1 SqlSessionFactoryBuilder

11.3.2 SqlSessionFactory

11.3.3 SqlSession

11.3.4 Mapper实例

11.4 总 结

11.5 习 题

第12章 MyBatis的高级应用

12.1 配置文件

12.1.1 properties

12.1.2 settings

12.1.3 typeAliases

12.1.4 typeHandlers

12.1.5 objectFactory

12.1.6 plugins

12.1.7 environments

12.1.8 transactionManager

12.1.9 dataSource

12.1.10 databaseIdProvider

12.1.11 mappers

12.2 Mapper映射文件

12.2.1 select

12.2.2 insert、update和delete

12.2.3 处理主键

12.2.4 sql

12.2.5 参数

12.2.6 结果映射

12.2.7 自动映射

12.2.8 缓存

12.3 动态SQL

12.3.1 if

12.3.2 choose、when和otherwise

12.3.3 trim、where和set

12.3.4 foreach

12.3.5 bind

12.3.6 多数据库支持

12.4 常用API

12.4.1 SqlSessionFactoryBuilder

12.4.2 SqlSessionFactory

12.4.3 SqlSession

12.4.4 注解

12.5 常用插件

12.5.1 MyBatis Generator

12.5.2 PageHelper

12.6 实战:使用MyBatis操作数据库

12.6.1 初始化表结构

12.6.2 添加依赖

12.6.3 编写业务代码

12.6.4 编写配置文件

12.6.5 编写测试用例

12.6.6 运行测试用例

12.7 总 结

12.8 习 题

第13章 模板引擎——Thymeleaf

13.1 常用Java模板引擎

13.1.1 关于性能

13.1.2 为什么选择Thymeleaf而不是JSP

13.1.3 什么是Thymeleaf

13.1.4 Thymeleaf处理模板

13.1.5 标准方言

13.2 Thymeleaf标准方言

13.2.1 Thymeleaf标准表达式语法

13.2.2 消息表达式

13.2.3 变量表达式

13.2.4 表达式基本对象

13.2.5 表达式工具对象

13.2.6 选择表达式

13.2.7 链接表达式

13.2.8 分段表达式

13.2.9 字面量

13.2.10 算术运算

13.2.11 比较与相等

13.2.12 条件表达式

13.2.13 默认表达式

13.2.14 无操作标记

13.2.15 数据转换及格式化

13.2.16 表达式预处理

13.3 Thymeleaf设置属性值

13.3.1 设置任意属性值

13.3.2 设置值到指定的属性

13.3.3 同时设置多个值

13.3.4 附加和添加前缀

13.3.5 固定值布尔属性

13.3.6 默认属性处理器

13.3.7 支持对HTML 5友好的属性及元素名称

13.4 Thymeleaf迭代器与条件语句

13.4.1 迭代器

13.4.2 条件语句

13.5 Thymeleaf模板片段

13.5.1 定义和引用片段

13.5.2 Thymeleaf片段规范语法

13.5.3 不使用th:fragment

13.5.4 th:insert、th:replace和th:include三者的区别

13.6 Thymeleaf表达式基本对象

13.6.1 基本对象

13.6.2 Web上下文命名空间用于request/session属性等

13.6.3 Web上下文对象

13.7 实战:基于Thymeleaf的Web应用

13.7.1 添加依赖

13.7.2 编写控制器

13.7.3 应用配置

13.7.4 编写Thymeleaf模板

13.8 总 结

13.9 习 题

第14章 锦上添花——Bootstrap

14.1 Bootstrap概述

14.1.1 HTML 5 Doctype

14.1.2 响应式meta标签

14.1.3 Box-Sizing

14.1.4 Normalize.css

14.1.5 模板

14.2 Bootstrap核心概念

14.2.1 Bootstrap的网格系统

14.2.2 媒体查询

14.2.3 网格选项

14.2.4 移动设备及桌面设备

14.3 实战:基于Bootstrap的Web应用

14.3.1 引入Bootstrap库的样式

14.3.2 引入Bootstrap库的脚本

14.3.3 添加Bootstrap样式类

14.3.4 运行应用

14.4 总 结

14.5 习 题

第15章 REST客户端

15.1 RestTemplate

15.1.1 初始化

15.1.2 URI

15.1.3 请求头

15.1.4 消息体

15.2 WebClient

15.2.1 retrieve()方法

15.2.2 exchange()方法

15.2.3 请求体

15.2.4 生成器选项

15.2.5 过滤器

15.3 实战:基于RestTemplate的天气预报服务

15.3.1 添加依赖

15.3.2 后台编码实现

15.3.3 运行

15.4 实战:基于WebClient的文件上传和下载

15.4.1 添加依赖

15.4.2 文件上传的编码实现

15.4.3 文件下载的编码实现

15.4.4 运行

15.5 总 结

15.6 习 题

第16章 REST服务框架——Jersey

16.1 REST概述

16.1.1 REST的基本概念

16.1.2 REST设计原则

16.1.3 成熟度模型

16.1.4 REST API管理

16.1.5 常用技术

16.2 实战:基于Jersey的REST服务

16.2.1 创建一个新项目

16.2.2 探索项目

16.2.3 运行项目

16.3 JAX-RS核心概念

16.3.1 根资源类(Root Resource Classes)

16.3.2 参数注解(@*Param)

16.3.3 子资源

16.4 实战:基于SSE构建实时Web应用

16.4.1 发布-订阅模式

16.4.2 广播模式

16.5 总 结

16.6 习 题

第17章 全双工通信——WebSocket

17.1 WebSocket概述

17.1.1 HTTP与WebSocket对比

17.1.2 理解WebSocket的使用场景

17.2 WebSocket常用API

17.2.1 WebSocketHandler

17.2.2 WebSocket握手

17.2.3 部署

17.2.4 配置

17.2.5 跨域处理

17.3 SockJS

17.3.1 SockJS概述

17.3.2 启用SockJS

17.3.3 心跳

17.3.4 客户端断开连接

17.3.5 CORS处理

17.3.6 SockJsClient

17.4 STOMP

17.4.1 STOMP概述

17.4.2 启用STOMP

17.4.3 消息流程

17.4.4 处理器方法

17.4.5 发送消息

17.4.6 内嵌broker

17.4.7 外部broker

17.4.8 连接到broker

17.4.9 认证

17.4.10 用户目的地

17.4.11 事件和拦截

17.4.12 STOMP客户端

17.4.13 WebSocket Scope

17.4.14 性能优化

17.5 实战:基于STOMP的聊天室

17.5.1 聊天室项目的概述

17.5.2 设置broker

17.5.3 服务端编码

17.5.4 客户端编码

17.5.5 运行

17.6 总 结

17.7 习 题

第18章 消息通信——JMS

18.1 JMS概述

18.1.1 常用术语

18.1.2 使用场景

18.1.3 JMS规范优势

18.1.4 常用技术

18.2 Spring JMS

18.2.1 JmsTemplate

18.2.2 连接管理

18.2.3 目的地管理

18.2.4 消息监听器容器

18.2.5 事务管理

18.3 发送消息

18.3.1 使用消息转换器

18.3.2 回调

18.4 接收消息

18.4.1 同步接收

18.4.2 异步接收

18.4.3 SessionAwareMessageListener

18.4.4 MessageListenerAdapter

18.4.5 处理事务

18.5 基于注解的监听器

18.5.1 启用基于注解的监听器

18.5.2 编程式端点注册

18.5.3 基于注解的端点方法签名

18.5.4 响应管理

18.6 JMS命名空间

18.7 实战:基于JMS的消息发送和接收

18.7.1 项目概述

18.7.2 配置

18.7.3 编码实现

18.7.4 运行

18.8 总 结

18.9 习 题

第19章 消息通知——Email

19.1 Email概述

19.1.1 Email的起源

19.1.2 Spring框架对于Email的支持

19.2 实现发送Email

19.2.1 MailSender和SimpleMailMessage的基本用法

19.2.2 JavaMailSender和MimeMessagePreparator的用法

19.3 使用MimeMessageHelper

19.3.1 发送附件和内联资源

19.3.2 使用模板创建Email内容

19.4 实战:实现Email服务器

19.4.1 项目概述

19.4.2 Email服务器编码实现

19.4.3 格式化Email内容

19.4.4 运行

19.5 总 结

19.6 习 题

第20章 任务执行与调度

20.1 任务执行与调度概述

20.2 TaskExecutor

20.2.1 TaskExecutor类型

20.2.2 使用TaskExecutor

20.3 TaskScheduler

20.3.1 Trigger接口

20.3.2 实现

20.4 任务调度及异步执行

20.4.1 启用调度注解

20.4.2 @Scheduled

20.4.3 @Async

20.4.4 @Async的异常处理

20.4.5 命名空间

20.5 使用Quartz Scheduler

20.5.1 使用JobDetailFactoryBean

20.5.2 使用MethodInvokingJobDetailFactoryBean

20.6 实战:基于Quartz Scheduler天气预报系统

20.6.1 项目概述

20.6.2 后台编码实现

20.6.3 运行

20.7 总 结

20.8 习 题

第21章 高性能之道——缓存

21.1 缓存概述

21.2 声明式缓存注解

21.2.1 @Cacheable

21.2.2 @CachePut

21.2.3 @CacheEvict

21.2.4 @Caching

21.2.5 @CacheConfig

21.2.6 启用缓存

21.2.7 使用自定义缓存

21.3 JCache

21.3.1 JCache注解概述

21.3.2 与Spring缓存注解的差异

21.4 基于XML的声明式缓存

21.5 配置缓存存储

21.5.1 基于JDK的缓存

21.5.2 基于Ehcache的缓存

21.5.3 基于Caffeine的缓存

21.5.4 基于GemFire的缓存

21.5.5 基于JSR-107的缓存

21.6 实战:基于缓存的天气预报系统

21.6.1 项目概述

21.6.2 后台编码实现

21.6.3 缓存配置

21.6.4 运行

21.7 总 结

21.8 习 题

第22章 微服务基石——Spring Boot

22.1 从单块架构到微服务架构

22.1.1 单块架构的概念

22.1.2 单块架构的优缺点

22.1.3 如何将单块架构进化为微服务

22.2 微服务设计原则

22.2.1 拆分足够微

22.2.2 轻量级通信

22.2.3 领域驱动原则

22.2.4 单一职责原则

22.2.5 DevOps及两个比萨

22.2.6 不限于技术栈

22.2.7 可独立部署

22.3 Spring Boot概述

22.3.1 Spring Boot产生的背景

22.3.2 Spring Boot的目标

22.3.3 Spring Boot与其他Spring应用的关系

22.3.4 Starter

22.4 实战:开启第一个Spring Boot项目

22.4.1 通过Spring Initializr初始化一个Spring Boot原型

22.4.2 用Maven编译项目

22.4.3 探索项目

22.4.4 编写REST服务

22.5 总 结

22.6 习 题

第23章 微服务治理框架——Spring Cloud

23.1 Spring Cloud概述

23.1.1 什么是Spring Cloud

23.1.2 Spring Cloud与Spring Boot的关系

23.2 Spring Cloud入门配置

23.2.1 Maven配置

23.2.2 Gradle配置

23.2.3 声明式方法

23.3 Spring Cloud子项目介绍

23.4 实战:实现微服务的注册与发现

23.4.1 服务发现的意义

23.4.2 如何集成Eureka Server

23.4.3 如何集成Eureka Client

23.4.4 实现服务的注册与发现

23.5 总 结

23.6 习 题

附录 本书所涉及的技术及相关版本

参考文献

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部