2020年了想必不会有人还不知道Spring框架。这个Java史上最‘经典’的开发框架官网是这样定义它的:

Spring使Java编程更快、更容易、更安全。Spring对速度、简单性和生产力的关注使得它成为世界上最受欢迎的Java框架。

自2003崛起以来到现在它依旧是一个不能被轻易替代的框架,今天要与大家聊的并不是Spring,而是它的扩展——Springboot。

Spring Boot

不知道从什么时候开始,技术社区Spring Boot的文章越来越多;Spring Boot相关的图文、视频课程越来越多;使用Spring Boot的互联网公司越来越多;现在出去面试Java工程师,Spring Boot已经成了必问的内容。—切都在证明,Spring Boot已经成为了Java程序员必备的技能。甚至它在未来它的发展可能会更好。这一切都要归功于它的“约定优于配置”的设计理念。

目前随着Spring版本的迭代,Spring Boot也推出了2.x版本,进入2.x版本时代。下面要与大家介绍的就是适应新潮流的基于Spring Boot2.x的实战手册。紧扣互联网企业的实际要求,从全注解下Spring 知识讲到Spring Boot的企业级开发,对于Java开发人员,尤其是初学Spring Boot的人员与需要从传统Spring 转向Spring Boot开发的技术人员,具有很高的参考价值。

 

手册总共分为12部分为了不影响大家阅读体验把获取方式放在了文末!

第一部分讲Spring Boot和传统Spring开发的区别,以及如何搭建Spring Boot开发环境。

Spring Boot 

  • Spring的历史
  • 注解还是XML
  • Spring Boot的优点
  • 传统Spring MVC和Spring Boot的对比

Spring Boot开发环境搭建和基本开发 

  • 搭建Spring Boot开发环境
  • Spring Boot的依赖和自动配置
  • 使用自定义配置
  • 开发自己的Spring Boot项目

 

第二部分讨论在全注解下的Spring基础IoC和AOP,让初学者可以无缝对接SpringBoot的全注解开发方式。

全注解下的Spring IoC和AOP

  • loC容器简介
  • 装配你的Bean
  • 依赖注入
  • 生命周期
  • 使用属性文件
  • 条件装配Bean
  • Bean的作用域
  • 使用@Profile
  • 引入XML配置Bean
  • 使用Spring EL
  • 约定编程
  • AOP的概念
  • AOP开发详解
  • 多个切面

 

 

第三部分讲述数据库的开发、基于SSM框架( Spring MVC+ Spring+MyBatis)的流行以及数据库事务的重要性,除了讨论传统的JDBC和JPA开发,还会重点讨论和MyBatis框架的整合,以及Spring数据库事务的编程。

数据库的访问与数据库事务处理

  • 配置数据源
  • 使用JdbcTemplate操作数据库
  • 使用JPA (Hibernate) 操作数据
  • 整合MyBatis框架
  • JDBC的数据库事务
  • Spring声明式事务的使用
  • 隔离级别
  • 传播行为
  • @Transactional自调用失效问题

 

第四部分主要讲互联网中广泛使用的两种NoSQL数据库(即Redis和MongoDB),使用它们可以极大地提高系统的性能。

Nosql数据库(Redis与MongoDB)

  • spring-data-redis项目简介
  • 在Spring Boot中配置和使用Redis
  • Redis的一些特殊用法
  • 使用Spring缓存注解操作Redis
  • 配置MongoDB
  • 使用MongoTemplate实例
  • 使用JPA

 

 

第五部分讲解在SpringBoot和全注解下的SpringMVC开发,从SpringMVC的基础讲到实际的开发和应用,让读者能够掌握各种SpringWeb后端的开发技巧。

深入SpringMVC开发

  • Spring MVC框架的设计
  • Spring MVC流程
  • 定制Spring MVC的初始化
  • Spring MVC实例
  • 处理器映射
  • 获取控制器参数
  • 自定义参数转换规则
  • 数据验证
  • 数据模型
  • 视图和视图解析器
  • 文件上传
  • 拦截器
  • 国际化
  • Spring MVC拾遗

 

为了不影响大家的阅读体验,如果你需要这份文档获取方式在文末!

第六部分讲构建REST风格的网站。因为当前各个微服务是以REST风格请求相互融合的,所以时下它已经成为一-种广泛使用的风格。

构建REST风格网站

  • REST简述
  • 使用Spring MVC开发REST风格端点
  • 客户端请求RestTemplate

 

第七部分讲Spring Security,通过它可以保护我们的站点,使其远离各种各样的攻击,保证网站安全,这是互联网应用必须做到的。

安全——Spring Security 

  • 概述和简单安全认证
  • 使用WebSecurityConfigurerAdapter自定义
  • 自定义用户服务信息
  • 限制请求
  • 用户认证功能

 

第八部分讲一些Spring常用的技术,如异步线程、定时器、消息机制和WebSocket等,以满足企业的其他开发需要。

关于Spring的其他技术 

  • 异步线程池
  • 异步消息
  • 定时任务
  • WebSocket应用

 

第九部分讲解Spring 5推出的新的非阻塞框架WebFlux,介绍非阻塞编程的技巧,通过它可以构建非阻塞的网站。

Spring 5新框架——WebFlux

  • 基础概念
  • 通过Spring MVC方式开发WebFlux服务端
  • 深入WebFlux服务端开发
  • 深入客户端开发
  • 使用路由函数方式开发WebFlux

 

第十部分讲SSM整合,并通过抢购场景讲述互联网中的高并发与锁的应用。

实践——抢购商品

  • 设计与开发
  • 高并发开发

 

第十一部分讲Spring Boot的打包、部署、测试和监控。

Spring Boot部署、测试和监控

  • 部署和运行
  • 测试
  • Actuator监控端点
  • HTTP监控
  • JMX监控

 

第十二部分讲基于Spring Cloud的分布式开发入门知识,使用它可以构建企业级分布式系统。上述内容可以让读者对SpringBoot有深入的了解,并且通过进一步学习掌握企业级应用的开发技巧。

分布式开发——Spring Cloud 

  • 服务治理和服务发现——Eureka
  • 微服务之间的调用
  • 断路器——Hystrix
  • 路由网关——Zuul
  • 使用@SpringCloudApplication

 

 

这份手册从原理到实践,详细介绍了Spring Boot的方方面面。无论你是Java新手,还是Spring老兵,这份文档都是非常值得一读的。

如果你这份手册感兴趣,需要领取学习一下,帮忙点赞文章关注我支持一下,然后添加小助手vx