关于我们
![]() ![]() |
详解Spring Boot——从入门到企业级开发实战 定 价:¥129 中 教 价:¥70.95 (5.50折)促销 库 存 数: 0 丛 书 名:孙鑫精品图书系列
本书针对Spring Boot 2.6.x及以上版本,采用理论结合实际的讲解方式,每章均配有多个示例,在内容安排上由浅入深,在知识讲解上深入浅出,让读者轻松掌握多种技术、中间件、框架与Spring Boot的整合开发。最后通过两个实战项目,让读者在进入企业后可以快速从事基于Spring Boot的企业开发。全书共分为五篇:基础篇、Web篇、数据访问篇、企业应用开发篇、项目实战篇。本书内容全面,涵盖了常用的技术、中间件与框架;讲解深入浅出,让读者学有所得。
孙鑫,国内IT技术和教育专家,2009年中国教育杰出人物。具有20多年的软件开发和教育培训经验,精通多种程序语言和技术架构。2004年曾推出“VC++深入编程”和“Java无难事”教学视频,引起了强烈的反响,在网络上掀起了一股视频教学的风潮,数十万名学员通过这两套视频走上了软件开发的道路。作者从2006年开始,相继出版了多本畅销技术专著,包括《Java无难事》《Java Web开发详解》 《VC++深入详解》《Struts 2深入详解》《Servlet/JSP深入详解》《XML、XML Schema、XSLT 2.0和XQuery开发详解 》《HTML5、CSS和JavaScript开发》《Vue.js从入门到实战》。目录
目 录
第1篇 基础篇 第1章 Spring Boot初窥 1 1.1 Spring Boot简介 1 1.2 快速掌握Maven 2 1.2.1 下载并安装Maven 2 1.2.2 认识pom.xml文件 4 1.2.3 配置Maven 12 1.2.4 使用Maven和JDK开发Spring Boot应用 13 1.3 使用Spring Tool Suite开发Spring Boot应用 16 1.3.1 下载并安装STS 16 1.3.2 配置Maven环境 17 1.3.3 开发Spring Boot应用 19 1.4 使用IntelliJ IDEA开发Spring Boot应用 22 1.4.1 下载并安装IDEA 22 1.4.2 配置IDEA 23 1.4.3 开发Spring Boot应用 25 1.5 小结 26 第2章 Spring Boot基础 27 2.1 Spring Boot项目结构剖析 27 2.2 编写控制器 29 2.3 热部署 30 2.4 Spring Boot的配置文件 33 2.4.1 YAML语法 33 2.4.2 配置嵌入式服务器 37 2.4.3 关闭启动时的Banner 40 2.4.4 配置日志 40 2.4.5 使用Profile进行配置 43 2.5 外部配置 47 2.6 Spring Boot常用注解 51 2.6.1 与配置相关的注解 52 2.6.2 Spring MVC相关的注解 52 2.6.3 组件声明相关的注解 53 2.6.4 依赖注入相关的注解 53 2.7 理解starter 53 2.7.1 安装EditStarters插件 54 2.7.2 Spring Boot提供的starter 56 2.8 Spring Boot自动配置原理 57 2.9 自定义starter 62 2.9.1 自动配置模块 63 2.9.2 starter模块 70 2.9.3 测试自定义的starter 71 2.10 小结 72 第2篇 Web篇 第3章 快速掌握Spring MVC 73 3.1 MVC架构模式 73 3.2 Spring MVC 74 3.3 Spring MVC自动配置 76 3.4 Spring MVC接收请求参数 76 3.4.1 准备项目 77 3.4.2 接收表单参数 81 3.4.3 接收JSON数据 82 3.4.4 URL参数 83 3.4.5 文件上传 83 3.4.6 请求报头 84 3.4.7 日期类型参数处理 85 3.5 控制器方法的返回值 85 3.5.1 String 86 3.5.2 ModelAndView 86 3.5.3 Map和Model 87 3.5.4 @ResponseBody注解 87 3.5.5 HttpEntity<B>和ResponseEntity<B> 88 3.5.6 void 88 3.6 @ModelAttribute注解 89 3.7 URL模式匹配 90 3.8 设置上下文路径 90 3.9 小结 91 第4章 Thymeleaf模板引擎 92 4.1 引入和配置Thymeleaf 92 4.2 准备项目 95 4.3 Thymeleaf的语法 99 4.3.1 使用文本 99 4.3.2 国际化 99 4.3.3 标准表达式语法 103 4.3.4 设置属性值 113 4.3.5 迭代 115 4.3.6 条件判断 118 4.3.7 模板布局 119 4.3.8 定义局部变量 130 4.3.9 属性优先级 130 4.3.10 注释 131 4.3.11 块级标签th:block 133 4.3.12 内联 133 4.4 用户注册程序 137 4.4.1 编写注册和注册成功页面 137 4.4.2 编写User类 139 4.4.3 编写UserController类 139 4.4.4 测试用户注册程序 140 4.5 小结 141 第5章 过滤器、监听器与拦截器 142 5.1 Servlet过滤器 142 5.1.1 Filter接口 143 5.1.2 对响应内容进行压缩的过滤器 144 5.2 Servlet监听器 149 5.3 拦截器 151 5.4 小结 153 第6章 输入验证与拦截器 154 6.1 JSR-303 155 6.2 添加验证依赖 155 6.3 对User的字段添加验证 156 6.4 在注册页面中添加验证错误消息的显示 157 6.5 测试输入数据的验证 159 6.6 自定义验证器 159 6.6.1 自定义注解 160 6.6.2 编写实现ConstraintValidator接口的类 160 6.6.3 在User类上使用自定义验证注解 162 6.6.4 在注册页面中添加确认密码输入项 163 6.6.5 测试自定义验证功能 163 6.7 登录验证拦截器 163 6.8 小结 168 第7章 异常处理和错误处理 169 7.1 异常处理 169 7.1.1 @ExceptionHandler注解 169 7.1.2 全局异常处理 171 7.2 自定义错误页面 172 7.3 小结 176 第8章 文件上传和下载 177 8.1 文件上传 177 8.2 文件下载 179 8.3 小结 181 第9章 定义RESTful风格的接口 182 9.1 什么是REST 182 9.2 HTTP方法与RESTful接口 183 9.3 HTTP响应的状态代码 185 9.4 状态代码的困惑与最佳实践 186 9.5 RESTful API设计原则 188 9.6 RESTful API接口的实践 189 9.6.1 项目实例 190 9.6.2 使用Postman测试接口 194 9.6.3 使用RestTemplate测试接口 198 9.7 编写全局错误处理器 200 9.8 使用Swagger 3.0生成接口文档 204 9.8.1 添加Swagger 3.0.0依赖 204 9.8.2 创建Swagger的配置类 204 9.8.3 浏览自动生成的接口文档 205 9.8.4 使用Swagger的注解明确描述接口 207 9.9 小结 210 第10章 Spring WebFlux框架 211 10.1 响应式编程与Reactive Streams 211 10.1.1 Reactive Streams规范 211 10.1.2 Java 9的响应式流实现 212 10.2 Spring MVC与Spring WebFlux 215 10.3 认识Reactor 216 10.4 Spring WebFlux的两种编程模型 217 10.4.1 带注解的控制器方式 218 10.4.2 函数式开发方式 220 10.5 体验异步非阻塞 227 10.6 服务器发送事件 228 10.7 小结 229 第3篇 数据访问篇 第11章 使用Spring的JdbcTemplate访问数据 230 11.1 认识Spring Data 230 11.2 准备工作 232 11.3 使用JdbcTemplate 233 11.3.1 准备项目 234 11.3.2 StatementCallback 235 11.3.3 PreparedStatementCreator 235 11.3.4 PreparedStatementCallback 236 11.3.5 PreparedStatementSetter 236 11.3.6 读取数据 237 11.3.7 执行存储过程 239 11.3.8 获取生成的主键 240 11.3.9 编写实体类 245 11.3.10 编写DAO类 246 11.4 小结 249 第12章 使用JPA访问数据 250 12.1 感受JPA 250 12.1.1 准备项目 251 12.1.2 配置JPA相关属性 252 12.1.3 编写实体类 252 12.1.4 编写DAO接口 253 12.1.5 编写单元测试 254 12.2 两种开发方式 256 12.3 JPA相关注解 256 12.4 Spring Data JPA的核心接口 257 12.4.1 Repository<T,ID>接口 258 12.4.2 CrudRepository<T,ID>接口 259 12.4.3 PagingAndSortingRepository<T,ID>接口 259 12.4.4 JPARepository <T,ID>接口 259 12.4.5 JpaSpecificationExecutor <T>接口 260 12.5 关联关系映射 261 12.5.1 基于主键的一对一关联映射 262 12.5.2 基于外键的一对一关联映射 267 12.5.3 一对多关联映射 270 12.5.4 多对多关联映射 274 12.6 使用JPQL进行查询 277 12.7 使用原生SQL语句进行查询 278 12.8 事务 279 12.8.1 数据库事务隔离级别 279 12.8.2 事务传播 280 12.8.3 @Transactional注解 280 12.8.4 事务边界 281 12.9 项目实际问题的解决 281 12.10 小结 282 第13章 使用MyBatis访问数据 283 13.1 感受MyBatis 283 13.2 SqlSessionFactory 288 13.3 SqlSession 289 13.3.1 语句执行方法 289 13.3.2 立即批量更新方法 291 13.3.3 事务控制方法 291 13.3.4 本地缓存 291 13.3.5 确保SqlSession被关闭 292 13.4 使用映射器 292 13.5 映射器注解 293 13.6 使用注解实现增、删、改、查 296 13.7 关联关系映射 299 13.7.1 一对一关联映射 299 13.7.2 一对多关联映射 301 13.7.3 多对多关联映射 304 13.8 分页查询 306 13.9 小结 309 第14章 使用MongoDB访问数据 310 14.1 下载和安装MongoDB 310 14.2 MongoDB与关系数据库的对比 312 14.3 增、删、改、查的实现 312 14.4 小结 315 第4篇 企业应用开发篇 第15章 安全框架Spring Security 316 15.1 快速开始 316 15.2 身份验证 318 15.3 表单认证 318 15.3.1 自定义表单登录页 319 15.3.2 对有限资源进行保护 321 15.4 前后端分离的登录处理方式 325 15.5 多用户的认证与授权 327 15.5.1 内存用户的认证和授权 327 15.5.2 默认数据库模型的用户认证与授权 330 15.5.3 自定义数据库模型的用户认证与授权 332 15.6 JWT 336 15.6.1 什么是JWT 337 15.6.2 JWT的结构 338 15.6.3 使用JWT实现token验证 339 15.7 小结 348 第16章 Spring Boot与缓存 349 16.1 Spring的缓存抽象 349 16.2 Spring的缓存注解 349 16.2.1 @Cacheable注解 350 16.2.2 @CachePut注解 352 16.2.3 @CacheEvict注解 352 16.2.4 @Caching注解 353 16.2.5 @CacheConfig注解 353 16.2.6 启用缓存 353 16.3 实例:在Spring Boot项目中应用缓存 353 16.4 自定义键的生成策略 357 16.5 JCache(JSR-107)注解 358 16.6 小结 359 第17章 Spring Boot集成Redis 360 17.1 Redis简介 360 17.2 Redis的应用场景 361 17.3 Redis的安装 361 17.4 Redis数据类型 363 17.4.1 string 363 17.4.2 hash 363 17.4.3 list 364 17.4.4 set 364 17.4.5 zset 364 17.5 将Redis用作缓存 365 17.6 掌握RedisTemplate 369 17.6.1 操作字符串 369 17.6.2 操作哈希 370 17.6.3 操作列表 371 17.6.4 操作集合 372 17.6.5 操作有序集合 373 17.7 编写工具类封装Redis访问操作 374 17.8 自定义RedisTemplate序列化方式 383 17.9 手动实现Redis数据存储与读取 385 17.10 小结 386 第18章 Spring Boot集成RabbitMQ 387 18.1 面向消息的中间件 387 18.2 RabbitMQ简介 388 18.2.1 AMQP 389 18.2.2 常用交换器 390 18.3 RabbitMQ的下载与安装 393 18.3.1 安装Erlang/OTP软件库 393 18.3.2 安装RabbitMQ 393 18.3.3 添加可视化插件 393 18.3.4 管理界面 393 18.4 RabbitMQ客户端API介绍 394 18.4.1 连接RabbitMQ服务器 395 18.4.2 创建信道 395 18.4.3 声明交换器 395 18.4.4 声明队列 396 18.4.5 绑定队列 397 18.4.6 发布消息 398 18.4.7 消费消息 399 18.4.8 消息确认与拒绝 401 18.4.9 关闭连接 403 18.5 六种应用模式 403 18.5.1 Simple 403 18.5.2 工作队列 404 18.5.3 发布/订阅 408 18.5.4 路由 410 18.5.5 主题 412 18.5.6 RPC 415 18.6 Spring Boot对RabbitMQ的支持 420 18.6.1 发送消息 420 18.6.2 接收消息 421 18.6.3 使用Spring AMQP实现六种应用模式 421 18.7 延迟消息队列 436 18.7.1 安装延迟消息插件 436 18.7.2 订单支付超时处理案例 436 18.8 小结 440 第19章 集成Elasticsearch,提供搜索服务 441 19.1 Elasticsearch的下载与安装 441 19.1.1 安装Elasticsearch 441 19.1.2 安装Web前端elasticsearch-head 442 19.1.3 配置允许跨域 442 19.2 Elasticsearch的基本概念 443 19.3 Spring Boot对Elasticsearch的支持 444 19.3.1 映射注解 445 19.3.2 ElasticsearchRestTemplate 446 19.3.3 ElasticsearchRepository 450 19.4 小结 455 第5篇 项目实战篇 第20章 电子商城项目实战 456 20.1 数据库设计 456 20.2 创建项目 458 20.3 项目结构 458 20.4 项目配置 459 20.5 分类模块 460 20.6 图书模块与评论模块 464 20.7 用户模块 475 20.8 安全实现 478 20.9 使用JWT实现token验证 483 20.10 全局错误处理器 485 20.11 小结 487 第21章 商品秒杀系统 488 21.1 功能描述 488 21.2 数据库设计 490 21.3 创建项目 491 21.4 项目结构 491 21.5 项目配置 492 21.6 配置Redis和RabbitMQ 493 21.7 数据访问层 494 21.7.1 实体类 494 21.7.2 DAO接口 496 21.8 业务逻辑层(服务层) 496 21.9 表示层(Web层) 501 21.9.1 控制器 501 21.9.2 页面 503 21.10 小结 506 第22章 部署Spring Boot应用程序 507 22.1 JAR包的打包方式与执行 507 22.2 打包成WAR文件并部署到Tomcat服务器上 508 22.3 小结 510
你还可能感兴趣
我要评论
|