即将出版《Spring Boot入门与实践》

        在n多读者的建议和朋友的推荐下,花了几个月研究了Spring Boot,即将出版新书《Spring Boot入门与实践》微笑一个微服务开发框架,目前已经完成编稿,在出版社修稿阶段。spring boot配置比较简单,开发比较快,但是要开发好,要理解Spring的机制,所以还是花了很多章节讲解Spring的机制。

       Spring Boot目前已经成为了Spring开发的主流,和Spring Cloud一起,可以搭建分布式系统,简单易用的风格。而Spring Boot并非取代Spring,而是采用约定优于配置的原则,执行“拿来主义”使得Spring的使用更为简单,但是如果发现问题,就比较难查找了。所以讲解Spring底层还是有必要的,书里我用全注解的方式讲解了IoC和AOP这样方便大家理解全注解下的Spring,同时结合了Spring Boot的配置,讲解JPA、MyBatis、Redis、MongoDB,结合MyBatis讲解Spring Boot关于数据库事务的开发,全注解下的Spring MVC开发。基于REST风格的流行,还讲解了RESTful的开发。Spring 5新框架开发的WebFlux,安全体系Spring Security,JMS、定时、异步线程、WebSocket、抢购并发场景当然少不了高大上的分布式Spring Cloud.......全书目前550页。

对比了现在的开发,maven还是主流,grandle目前还在发展ing,所以最终选择了maven引入包,且行且珍惜。下面给个目录大家瞧瞧。

1 Spring Boot来临 2

1.1 Spring的历史 2

1.2 注解还是XML 3

1.3 Spring Boot的优点 4

1.4 传统Spring MVCSpring Boot的对比 4

2章 聊聊开发环境搭建和基本开发 12

2.1 搭建Spring Boot开发环境 12

2.1.1 搭建Eclipse开发环境 12

2.1.2 搭建IntelliJ IDEA开发环境 16

2.2 Spring Boot的依赖和自动配置 18

2.3 使用自定义配置 22

2.4 开发自己的Spring Boot项目 24

3章 全注解下的Spring IoC 27

3.1 IoC容器的简介 27

3.2 装配你的Bean 31

3.2.1 通过扫描装配你的Bean 31

3.2.2 自定义第三方Bean 36

3.3 依赖注入 37

3.3.1 注解@Autowired 39

3.3.2 消除歧义性——@Primary@Quelifier 41

3.3.3 带有参数的构造方法类的装配 42

3.4 生命周期 43

3.5 使用属性文件 49

3.6 条件装配Bean 52

3.7 Bean的作用域 54

3.8 使用@Profile 55

3.9 引入XML配置Bean 57

3.10 使用Spring EL 58

4章 开始约定编程——Spring AOP 61

4.1 约定编程 61

4.1.1 约定 61

4.1.2 ProxyBean的实现 66

4.1.3 总结 69

4.2 AOP的概念 70

4.2.1 为什么使用AOP 70

4.2.1 AOP 术语和流程 73

4.3 AOP开发详解 75

4.3.1 确定连接点 75

4.3.2 开发切面 75

4.3.3 切点定义 76

4.3.4 测试AOP 78

4.3.5 环绕通知 81

4.3.6引入 83

4.3.7 通知获取参数 85

4.3.8 织入 86

4.4 多个切面 88

5章访问数据库 94

5.1 配置数据源 94

5.1.1 启动默认数据源 94

5.1.2 配置自定义数据源 95

5.2 使用JdbcTemplate操作数据库 99

5.3 使用JPAHibernate)操作数据 103

5.3.1 概述 103

5.3.2 开发JPA 103

5.4 整合MyBatis框架 109

5.4.1 MyBatis简介 110

5.4.2 MyBatis的配置 110

5.4.3 Spring Boot整合MyBatis 115

5.4.4 MyBatis的其他配置 118

6章 聊聊数据库事务处理 122

6.1 JDBC的数据库事务 123

6.2 Spring声明式事务的使用 125

6.2.1 Spring声明式数据库事务约定 125

6.2.2 @Transactional的配置项 127

6.2.3 Spring事务管理器 129

6.2.4 测试数据库事务 130

6.3 隔离级别 135

6.3.1 数据库事务的知识 135

6.3.2 隔离级别 137

6.4 传播行为 141

6.4.1 传播行为的定义 142

6.4.2 测试传播行为 143

6.5 @Transactional自调用失效问题 148

7章 使用性能利器——Redis 154

7.1 spring data redis项目简介 155

7.1.1 spring data redis项目的设计 155

7.1.2 RedisTemplate 156

7.1.3 SpringRedis数据类型操作的封装 160

7.1.4 SessionCallbackRedisCallback接口 161

7.2 Spring Boot中配置和使用Redis 163

7.2.1 Spring Boot中配置Redis 163

7.2.2 操作Redis数据类型 164

7.3 Redis的一些特殊用法 169

7.3.1 使用Redis事务 170

7.3.2 使用Redis流水线 171

7.3.3 使用Redis发布订阅 172

7.3.4 使用Lua脚本 176

7.4 使用Spring缓存注解操作Redis 179

7.4.1 缓存管理器和缓存的启用 179

7.4.2 开发缓存注解 181

7.4.3 测试缓存注解 187

7.4.4 缓存注解自调用失效问题 190

7.4.5 缓存脏数据说明 190

7.4.6 自定义缓存管理器 191

8章 文档数据库——MongoDB 194

8.1 配置MongoDB 195

8.2 使用MongoTemplate实例 196

8.2.1 搭建开发环境 196

8.2.1 使用MongoTemplate操作文档 200

8.3 使用JPA 206

8.3.1 基本用法 206

8.3.2 使用自定义查询 208

9章 初识Spring MVC 211

9.1 Spring MVC框架的设计 211

9.2 Spring MVC流程 212

9.3 定制Spring MVC的初始化 220

9.4 Spring MVC实例 221

9.4.1 开发控制器 221

9.4.2 视图和视图渲染 222

10深入Spring MVC开发 227

10.1 处理器映射 227

10.2 获取控制器参数 228

10.2.1 在无注解下获取参数 228

10.2.2 使用@RequestParam获取参数 229

10.2.3 传递数组 230

10.2.4 传递JSON 231

10.2.5 通过URL传递参数 234

10.2.6 获取格式化参数参数 235

10.3 自定义参数转换规则 237

10.3.1 处理器获取参数逻辑 237

10.3.2 一对一转换器(Converter 241

10.3.3 GenericConverter集合和数组转换 242

10.4 数据验证 243

10.4.1 JSR-303 验证 243

10.4.2 参数验证机制 247

10.5 数据模型 251

10.6 视图和视图解析器 253

10.6.1 视图设计 253

10.6.2 视图实例——导出PDF文件 255

10.7 文件上传 259

10.7.1 Spring MVC对文件上传的支持 259

10.7.2 开发文件上传功能 261

10.8 拦截器 264

10.8.1 拦截器的设计 264

10.8.2 开发拦截器 265

10.8.3 多个拦截器的顺序 268

10.9 国际化 271

10.9.1 国际化消息源 271

10.9.2 国际化解析器 273

10.9.3 国际化实例——SessionLocaleResolver 274

10.10 Spring MVC拾遗 278

10.10.1 @ResponseBody转换为JSON的秘密 278

10.10.2 重定向 279

10.10.3 操作会话对象 281

10.10.4 给控制器增加通知 284

10.10.5 获取请求头参数 286

11构建REST风格网站 289

11.1 RESTful简述 289

11.1.1 REST名词解释 289

11.1.2 HTTP的动作 290

11.1.3 RESTful的一些误区 291

11.2 使用Spring MVC开发REST风格端点 291

11.2.1 Spring MVC整合REST 291

11.2.2 使用Spring开发REST风格的端点 292

11.2.3 使用@RestController 301

11.2.4 渲染结果 302

11.2.5 处理HTTP状态码、异常和响应头 304

11.3 客户端请求RestTemplate 309

11.3.1  使用RestTemplate请求后端 309

11.3.2 获取响应头、状态码和资源交换 311

12章 安全——Spring Security 314

12.1 概述和简单安全认证 314

12.2 使用WebSecurityConfigurerAdapter自定义 317

12.3 自定义用户服务信息 318

12.3.1 使用内存签名服务 318

12.3.2 使用数据库定义用户认证服务 320

12.3.3 使用自定义用户认证服务 323

12.4 限制请求 325

12.4.1 配置请求路径访问权限 326

12.4.2 使用Spring表达式配置访问权限 328

12.4.3 强制使用HTTPS 329

12.4.3 防止跨站点请求伪造 330

12.5 用户认证功能 331

12.5.1 自定义登录页面 331

12.5.2 启用HTTP Basic认证 333

12.5.3 登出 334

13章 学点Spring其他的技术 336

13.1 异步线程池 336

13.1.2 定义线程池和开启异步可用 337

13.1.2 异步实例 337

13.2 异步消息 339

13.2.1 JMS实例——ActiveMQ 340

13.2.2 使用AMQP——RabbitMQ 345

13.3 定时任务 349

13.4 WebSocket 应用 353

13.4.1 开发简易的WebSocket服务 353

13.4.2 使用STOMP 359

14Spring 5新框架——WebFlux 369

14.1 基础概念 369

14.1.1 响应式编程的宣言 369

14.1.2 Reactor模型 370

14.1.3 Spring WebFlux的概述 371

14.1.4 WebHandler接口和运行流程 373

14.2 通过Spring MVC方式开发WebFlux服务端 375

14.2.1 开发持久层 375

14.2.2 开发服务层 377

14.2.3 开发控制层 378

14.2.4 配置服务 380

14.2.5客户端开发——WebClient 382

14.3 深入WebFlux服务端开发 386

14.3.1 类型转换器——Converter 387

14.3.2 验证器——Validator 388

14.3.3 访问静态资源 390

14.4 深入客户端开发 390

14.4.1 处理服务端错误和转换 391

14.4.3 设置请求头 393

14.5 使用路由函数方式开发WebFlux 394

14.5.1 开发处理器 394

14.5.2 开发请求路由 399

14.5.3 使用过滤器 401

15章 实践一下——抢购商品 403

15.1 设计与开发 403

15.1.1 数据库表设计 403

15.1.2 使用MyBatis开发持久层 404

15.1.3 使用Spring开发业务层和控制层 407

15.1.4 测试和配置 410

15.2 高并发开发 412

15.2.1 超发现象 412

15.2.2 悲观锁 414

15.2.3 乐观锁 415

15.2.4 使用Redis处理高并发 421

16部署、测试和监控 428

16.1 部署和运行 428

16.1.1 打包 428

16.1.2 运行项目 430

16.1.3 热部署 432

16.2 测试 433

16.2.1 构建测试类 433

16.2.2 使用随机端口和REST风格测试 435

16.2.3 Mock测试 435

16.3 Actuator监控端点 437

16.4 HTTP监控 438

16.4.1 查看敏感信息 439

16.4.2 shutdown端点 441

16.4.3 配置端点 442

16.4.4 自定义端点 444

16.4.5 健康指标项 447

16.5 JMX监控 450

17分布式开发——Spring Cloud 452

17.1 服务治理和服务发现——Eureka 454

17.1.1 配置服务治理节点 454

17.1.2 服务发现 456

17.1.3 配置多个服务治理中心节点 459

17.2 微服务之间的调用 462

17.2.1 Ribbon客户端负载均衡 462

17.2.1 Feign声明式调用 466

17.3 断路器——Hystrix 469

17.3.1 使用降级服务 470

17.3.1 启用Hystrix仪表盘 473

17.4 路由网关——Zuul 475

17.4.1 构建Zuul网关 476

17.4.2 使用过滤器 478

17.5 使用@SpringCloudApplication 482

附录 484

A.1 选择内嵌服务器 484

A.2 修改商标 484

A.3 深入Spring Boot自动装配 487

这次这本Spring Boot尽力网上配套课程给大家哈。这两个月我会录制课程,到时候我会开店给大家讲课,采用基础入门章节全部免费帮助入门新手,需要深入企业开发的章节的和答疑服务的才需要付费(这个要占用我时间了,放心不过不会太贵,学生党都买得起的价格来帮助大家)。

由于快到春节,书的销售淡季,所以估计该书会在人民邮电出版社春节后不久出版。目前估计定价99元,因为2017年纸张价格大涨一轮,出版社成本鸭梨也大,所以大家可以看到新书基本都贵了一轮,偷笑当然码农的工资也涨了一轮。

写着写着,喜欢上了Spring Cloud到时候在弄本分布式玩玩,到时候再介绍些好东西给大家继续玩起。


猜你喜欢

转载自blog.csdn.net/ykzhen2015/article/details/78683208