我为什么创作《Spring boot 实战权威指南——基础篇》? - Go语言中文社区

我为什么创作《Spring boot 实战权威指南——基础篇》?


前言

Java的各种开发框架发展了很多年,影响了一代又一代的开发人员,无论是程序员,还是架构师,使用这些框架开发不到万人规模的企业应用或者开发1分钟千万访问量的互联网电商系统都面临着两方面的挑战。

  • 一方面,要快速开发出系统,这就要求使用的开发框架尽量简单,无论是新手老手都能快速上手,快速完成页面渲染,数据库访问等常用技术。也要求开发框架能尽量多的集成第三方工具,以便随时调取。更希望在开发调试过程中,能够方便代码更改后快速重启。

  • 另外一方面,当系统模块增加,用户使用量增加,面对这样的挑战,系统必须拆分成为小微系统甚至是微服务,程序员和架构师当然不希望换掉已有的开发框架,希望由小而美的系统能平稳过渡到大而强的分布式系统。

环顾当前Java开源世界中的流行技术框架,能同时满足快速开发和分布式系统架构的框架,当属群众基础最好,功能最全,基于Spring技术的Spring Boot框架。

这几年来,企业应用的开发框架都渐渐使用Spring Boot 2作为基础,以我的开发经历来看,在写作本书第一版的时候,公司一开始是拒绝使用Spring Boot 的,而坚持使用Spring,后来也是在调研后同意采用Spring Boot并取得了很好效果。

如果你搜索关于Spring 的开发“脚手架”,你会发现这些“脚手架”已经转为以SpringBoot 2为基础的开发框架。互联网公司也开始大量采用Spring Boot,一些巨无霸互联网公司虽然由于历史原因没有采用Spring Boot和Spring Cloud,但这些公司的框架和微服务设计,跟Spring Boot和Spring Cloud相差无几。

开发脚手架是指一套现成的系统,它包含了技术框架(如使用Spring Boot),和基础的业务领域的功能,以及业务开发规范。开发脚手架通常包含最基础的用户、机构、权限、数据字典管理,也可能包含代码生成功能,基础的工作流集成等。本书附录会介绍SpringBoot-Plus开发脚手架,一个适合中小型企业应用的脚手架。

而开发框架是一套技术框架,如Spring Boot 2,基于Spring的SpringSide,Struts等的技术框架。

内容简介

本书系统介绍了Spring Boot 2 的主要技术,主要侧重两个方面,一方面是极速开发一个WEB应用系统。第1到第7章,主要讲解了Spring介绍、MVC、视图技术、数据库访问技术,随Spring Boot的高级特性。第8章到第11章,讲解配置Spring Boot等高级特性、多环境部署、单元测试,以及深入IOC,AOP和事务。第2章主要对Spring Boot Plus项目做了简要介绍。

阅读本书的人,可以是Java新手,也可以是Spring新手,还可以是用过Spring,但想进一步了解Spring Boot的开发者。如果你已经使用过Spring Boot,本书也非常适合你全面深入了解Spring Boot。

读完本书后,读者能轻松快速构建Web应用系统,也能握分布式系统架构实现。

  • 第1章,如果不知道Java开发框架历史,很难理解Spring Boot。本书第1章 介绍了Java EE并指出其缺点,然后介绍了流行的Spring,同时也说明Spring经过这些年发展后的一些缺点,从而引入介绍SpringBoot,并用两个例子来说明。。

  • 第2章:对Spring Boot应用的开发环境做了说明,包括Java开发环境安装和配置, Eclipse、Idea以及Maven安装和配置,设置国内仓库镜像。

  • 第3章: 详细介绍MVC技术,重点介绍URL映射到Contorller,以及映射到Controller 方法的参数,附件上传,参数类型转化,参数验证。

  • 第4章:对视图层介绍,分为俩部分,一部分是Jackson,性能最好,功能最全的Json序列化工具,Spring Boot不仅仅将Jackson作为MVC中的JSON默认和推荐工具,也是Spring Boot分布式技术中常采用的JSON序列化技术。第二部分 介绍了笔者的开源技术Beetl后端模板引擎,作为国内最为流行的模板引擎之一,也是当今世界性能最好,功能最全的文本处理引擎。广泛应用到国内各大公司。

  • 第5章: 介绍了以面向对象为中心的数据库访问工具Spring Data JPA。本章由易到难,先从Spring Data提供的功能入手介绍如何完成数据库简单的增删改查功能,然后引入JPA来解决应用中不可避免的复杂SQL查询。

  • 第6章 介绍了以SQL为中心的数据库访问工具,主要包含俩款,一个是流行多年通过XML来管理SQL的Mybatis,以及辅助工具MyBatis-Plus。另外一个是笔者的Dao工具,SQL在markdown文件中管理,内置增删改查,无需辅助插件。以SQL为中心的数据库访问工具, 适合那些更喜欢SQL方式访问数据库的开发者。

  • 第7章:介绍了MyBatis-Plus系统集成,本章节内容由MyBatis-Plus作者提供。

  • 第8章:介绍Spring Boot高级特性,如常用Spring Boot的配置,日志配置,应用配置的读取,Spring Boot自动装配技术,Spring Boot Stater实现。

  • 第9章: 介绍了如何部署Spring Boot应用,包括可执行jar,以及通过war部署到应用服务器上。应用经常面对多个环境,如开发,测试,还有准线上,线上,以及多个Demo环境,Spring Boot提供Profile来实现多环境部署

  • 第10章:介绍了单元测试概念,以及SpringBoot下的单元测试支持,包括MVC单元测试,Mock测试。

  • 第11章:考虑到Spring Boot 以Spring技术为从基础,本章会再次深入介绍IOC,AOP和事务处理

  • 第12章:介绍Spring Boot2 Plus项目安装和核心模型,代码生成功能。

如何阅读本书

笔者作为一个从事Java开发19年的程序员,这里给新手一些诚恳的建议,用于帮助新手掌握Spring Boot 2。

如果你是Java新手,Spring新手或者是Spring Boot新手,建议先按照本书每章的例子先模仿一遍。不要急于按照自己项目要求去改,这样很容易使掌握的知识不牢固、不全面。如果遇到自己暂时无法理解的知识,也建议优先记住这些知识点。

当理解完书中的知识,能运行书中提供的例子(推荐手写,或者从官网下载例子)后,可以尝试主动制造一些错误。看看Spring Boot 会给你什么样的错误提示。通过主动制造错误,观察Spring Boot应用的错误信息或者请求对应的输出来深入学习Spring Boot。这不仅是学习Spring Boot,也是学习其他框架,学习其他编程技术甚至是各种编程语言的一个学习窍门。

本书每章都会提及Spring Boot框架的一些接口或者关键类,即使不了解这些类的实现细节,你也仍然可以运用Spring Boot。如果想深入掌握Spring Boot,建议阅读这些类的源代码了解这些类的职责以及如何实现职责。可以通过IDE的快捷键打开这些类,以Eclipse 为例子,用ctlr-t 打开这些类去阅读Spring源码。还可以在这些类的方法里打上断点,在运行本书的例子的时候,查看在断点处发什么来帮助你理解Spring Boot。

如果对于这些类还是无法理解,可以通过搜索引擎搜索这些类,总有些博客和技术文章在讨论这些类的职责和实现方式。

谨慎对待互联网搜索结果,这是因为Spring Boot 2 技术本身较新,发展也较快,通过互联网搜索结果关注一下文章发布日期,文章适用版本,如果你在使用Spring Boot 2中遇到任何问题,也都欢迎到社区交流,社区地址是ibeetl.com。

本书第二版与第一版区别

本书是在SpringBoot 2.0 精髓的第二版,根据第一版的反馈,有如下改进。

  • 书中所有内容更新到最新版本,由于本书发行采用电子版,读者随时可以看到最新内容。

  • 杜绝纯理论,杜绝贴源码行为,例子紧密结合业务实战,兼顾教学和实战。

  • 杜绝只讲Spring Boot,不讲Spring 生态的行为,立刻学习,立刻使用。

  • 介绍了SpringBoot-plus 开发平台,一个真正的开发平台内核系统,可以作为每个软件公司后台项目脚手架。

  • 增加了选型分析,Springboot 继承了很多框架,每章涉及到多个框架选型会做出一定个人分析,比如为什么SpringBoot会推荐HikariCP、Jackson。

  • 微服务基本概念介绍,分布式介绍,这主要参考微服务模式和数据密集型应用。

  • 更多介绍Redis, 考虑到Reids 应用更加普遍,同时也介绍了JVM缓存caffeine,caffeine+redis,一对互联网高并发应用的黄金搭档。这来自于我在京东工作的经验。

  • 对一些Spring基础知识也较第一版本做了大幅度增强,满足高级开发者的使用需求,比如AOP、事务管理。

  • 由于出版的是电子版图书,所以有更多个人技术上的见解可以写在书里,能帮助更多初学者选型技术,以及知道如何选型技术。

本书并不是一本Spring原理书或者SpringBoot 2的源码解析书,本书紧贴SpringBoot 2实战和定制化开发,如果你想立即使用SpringBoot2,只需本书一本就够了,而不像其他书要分好几本买,看数千页的资料才能编写Spring Boot 实战项目,《Spring Boot2 实战》 是最好的选择。 本书例子

本书的所有例子都直接访问码云或者ibeetl.com网站获取书中代码,网站还提供了关于Spring Boot 更深入的例子,并且包括两个实例,一个是采用Spring Boot 构建的轻量级BBS,还有一个企业应用脚手架的完整例子Spring Boot Plus。,这两个例子被国内很多中小企业再次定制使用。本书会介绍Spring Boot Plus项目。

如下是本书例子的截图。

每一章节的例子

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-puyQ3peD-1581054255398)(/api/storage/getbykey/original?key=19112029c96c8b132b4d)]

Spring Boot Plus

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WmfX5BY9-1581054255401)(/api/storage/getbykey/original?key=1911c5c684465626e209)]

轻量级BBS

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BEdSFZjO-1581054255402)(/api/storage/getbykey/original?key=19113d70fb05c359d8d9)]

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/epubit17/article/details/104209213
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢