# 1 前言 ​ Java的各种开发框架发展了很多年,影响了一代又一代的程序员,无论是程序员,还是架构师,使用这些框架开发不到万人规模的的企业应用或者开发分钟千万访问发量互联网电商系统 都面临着俩方面的挑战 - 一是要快速速开发出系统,这就要求使用的开发框架尽量简单,无论是新手老手都能快速上手,快速完成页面渲染,数据库访问等常用技术。也要求开发框架能尽量多的集成第三方工具,以便信手拈来。最后,也希望在开发调试过程中,方便代码更改后能快速重启。 - 另外一方面,当系统模块增加,用户使用量增加,面对这样的的挑战,系统必须拆分成为小微系统甚至是微服务,程序员和架构师当然不希望换掉已有的开发框架,希望能平稳过渡到由小而美的系统过渡到大而强的分布式系统。 环顾当前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等技术框架 > > 开发平台提供了比开发脚手架更为丰富的开发功能,比如在线业业务在线开发能,减少程序员的开发工作量,然而开发凭条提供的这种技术很容易随着底层的开发框架过时而过时。对于复杂业务,开发平台提供的业务在线开发能以完美实现