展开全部

主编推荐语

从企业需求入手,注重实操与项目演练,帮你快速求职入行。

内容简介

本书由资深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企业级开发感兴趣的计算机专业学生、软件工程师、系统架构师等,也可以用作软件学院或培训机构的教学用书。

目录

  • 版权信息
  • 内容简介
  • 作者简介
  • 前言
  • 第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 习 题
  • 附录 本书所涉及的技术及相关版本
  • 参考文献
展开全部

评分及书评

评分不足
1个评分

出版方

清华大学出版社

清华大学出版社成立于1980年6月,是由教育部主管、清华大学主办的综合出版单位。植根于“清华”这座久负盛名的高等学府,秉承清华人“自强不息,厚德载物”的人文精神,清华大学出版社在短短二十多年的时间里,迅速成长起来。清华大学出版社始终坚持弘扬科技文化产业、服务科教兴国战略的出版方向,把出版高等学校教学用书和科技图书作为主要任务,并为促进学术交流、繁荣出版事业设立了多项出版基金,逐渐形成了以出版高水平的教材和学术专著为主的鲜明特色,在教育出版领域树立了强势品牌。