前言
又到了一年一度的备战秋招的时间,虽然这两年因为经济环境不太好,互联网行业的各大厂都再裁员,但是今年的秋招经济形势正在复苏,我特地拜托阿里的朋友将这份Spring Boot项目实战开发文档分享出来。
本文档涵盖Spring Boot企业级项目开发的各方面知识,重点介绍Maven项目的搭建、Jersey Restful风格、Postman测试接口、Swagger2可视化文档、Lombok优雅编码、Redis缓存、Security安全机制、Web Service服务、WebSocke t通信、性能测试、集成测试、Jeecg Boot快速开发框架、使用Docker进行项目部署、使用spring-boot-devtools进行热部署、使用Actuator进行监控等,这些内容在大部分的Spring Boot入门图书中都不会重点介绍。
目录
文档概述
本书系统地介绍Spring Boot框架的原理及其开发组件的用法,另外还通过实际项目案例展示企业级开发的完整流程。本书内容丰富,实用性强,书中给出了大量的开发实践经验,让人茅塞顿开,诸如性能测试小技巧让我这种“混迹”开发职场多年的老兵都感觉受益匪浅,推荐相关领域的软件开发人员阅读。
内容详情
第1章Spring和Spring MVC基础知识
本章对Spring框架进行了介绍,解释了Spring框架中的模块划分和Spring的生态圈。一切开发都离不开环境搭建,本章对项目的构建和依赖工具Maven进行了介绍,并演示了如何在项目中使用Maven。本章还介绍了使用Eclipse和IntelliJ IDEA配置Maven,以及搭建开发环境的详细步骤,最后介绍了在Spring中开发Hello World示例的步骤并进行了结果展示,还列举了在项目开发中常用的Spring的配置注解,并对Spring MVC请求的流程做了具体介绍。
第2章Spring Boot从零入门
本章介绍使用Spring Boot进行项目开发的一些基础知识,包括SpringBoot的基础配置、开发时的多环境配置、Restful的相关基础知识以及如何在Spring Boot中集成Jersey进行Restful API接口的开发。在完成了接口开发后,还介绍了如何使用Postman进行接口测试,如何利用Postman构建各种不同的请求,如何在接口上添加Swagger2 UI的注解,以及如何在项目中添加Swagger2的配置以实现网页上访问Swagger2的API文档。本章最后还介绍了项目开发利器Lombok,它可以利用各种注解实现优雅的编码,从而提高项目的开发效率。
第3章数据持久化
本章介绍了如何在Spring Boot项目中使用Spring Data JPA来操作数据库。开发者不需要对数据库的每一个操作都写相应的SQL语句,JPA可以自动生成SQL语句,这大大提高了项目开发的效率。另外,在Web开发过程中不能信任入参,必须对参数进行校验,而使用Spring Boot Validate注解进行参数校验,不是使用if…else进行判断,使项目代码变得更加优雅。
第4章Spring Boot的Web应用开发
本章介绍了在Spring Boot项目中集成Web模块的开发过程,包括Spr ing团队出品的Thymleaf模板引擎,它能够给用户显示渲染后的页面。本章通过一个文件上传的例子,讲解了文件上传的原理。Web开发离不开过滤器、监听器、拦截器和异常处理,本章介绍了它们的原理和使用方法,最后介绍了项目开发中常用的缓存利器Redis,包括它的使用场景和基础知识。
第5章Spring Boot的Security安全控制
本章介绍了Spring Security的相关知识。Spring Security是一个基于Spring提供声明式安全保护的安全性框架,它提供了完整的安全性解决方案,能够处理Web请求中不同身份和调用方法的身份认证和授权行为。SpringSecurity从两个角度解决安全性问题:
- 使用Servlet规范中的Filter,以保护Web请求并限制URL级别的访问;。
- 使用Spring AOP以保证与权限相关的方法被调用,即借助动态代理和使用通知,保证只有具备权限的人才能访问受到保护的方法。
本章介绍了如何使用WebSecurityConf igurerAdapter适配器来配置项目的权限及用户授权信息,还介绍了Spr ing Security的核心类AuthenticationManager以及验证机制和验证流程,最后介绍了如何使用JPA和MyBatis完成一个简单的权限验证。
第6章Spring Boot扩展
本章首先介绍了Spring Boot常用的日志框架,在Spring Boot中使用Log4j2记录系统中的日志,包括日志的不同级别,以及自定义日志的Appender进行日志输出等内容。
第7章项目测试
本章介绍了项目开发中常见的测试方法,包括单元测试、集成测试和性能测试。在项目开发结束后需要进行单元测试,测试人员对代码进行测试,指出Bug给开发人员修改,然后再测试。可以说,测试做不好会造成项目“残废”,测试是项目质量好坏的重要保障。
第8章Spring Boot项目快速开发框架Jeecg Boot
本章介绍了项目搭建的脚手架工具Jeecg Boot的相关知识,主要包括Jeecg Boot的功能、技术栈及其项目的配置与修改等内容,另外还介绍了项目的数据库访问方式——MyBatis与MyBatisPlus,最后介绍了Jeecg Boot对Web开发的支持。
第9章Spring Boot项目开发实战——销售管理系统
本章从项目背景开始讲解,涵盖项目需求分析、系统用例分析、系统技术框架选型、系统框架搭建、项目初始化、业务代码开发,展示了一个项目的完整开发流程,从而帮助读者能将之前介绍的知识应用于开发实践之中。
第10章Spring Boot项目部署与监控
本章介绍了Java项目打成jar包和war包的区别,还介绍了使用Docker将jar构建成自己的镜像后运行项目的过程。在Spring Boot中,可以使用Actuator通过不同的端点查看不同项目的运行情况,常用的端点包括查看项目环境和配置信息的env、查看项目健康信息的heal th、查看项目信息的info和所有请求入口的mappings。
结尾
好了,本文档的内容到此就全部结束了。本文档介绍了目前企业级开发中常见的各种组件的简单使用,建议反复学习这些技术。尤其对于一些中间件的使用(如Redis和IDocker),还应该到其官网上阅读相关文档,因为它们在开发中使用得非常频繁,精通这些中间件对以后的开发和自己的发展有很大的用处。对于Web Service和Web Socket两个技术难点,读者应该静心学习其原理后再实践编码,这样才能理解其精髓,尤其是其原理。