2023年了想必不会有人还不知道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老兵,这份文档都是非常值得一读的。