SpringBoot历史与简介


SpringBoot发展史

SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

SpringBoot是基于Spring框架基础上推出的一个全新的框架, 旨在让开发者可以轻松地创建一个可独立运行的,生产级别的应用程序。基于SpringBoot内部的自动化配置功能,开发者可以在“零”配置, 或者只需要添加很少的配置,就可以进行日常的功能开发。

SpringBoot在Spring生态圈中的位置:

图

SpringBoot的特点

1)创建独立的Spring应用程序;

2)直接嵌入Tomcat,Jetty或Undertow,无需部署WAR文件;

3)提供推荐的基础POM文件(starter)来简化Apache Maven配置;

4)尽可能的根据项目依赖来自动配置Spring框架;

5)提供可以直接在生产环境中使用的功能,如性能指标,应用信息和应用健康检查;

6)开箱即用,没有代码生成,不需要配置过多的xml。同时也可以修改默认值来满足特定的需求。

7)其他大量的项目都是基于SpringBoot之上的,如Spring Cloud。

SpringBoot优缺点

SpringBoot优点

1)SpringBoot可以支持开发人员快速的开发出restful风格的微服务架构;

2)SpringBoot自动化确实方便,做微服务再合适不过了,单一jar包部署和管理都非常方便。只要系统架构设计合理,大型项目也能用,加上nginx负载均衡,轻松实现横向扩展;

3)SpringBoot要解决的问题, 精简配置是一方面, 另外一方面是如何方便的让spring生态圈和其他工具链整合(比如Redis,email,elasticsearch)。

SpringBoot优点

1)版本迭代速度更新太快,一些模块的改动很大;

2)由于无需配置或少量配置,报错时定位比较有难度;

3)网上现有资源的解决方案比较少见。

SpringBoot的核心功能

1)独立运行spring项目。SpringBoot以jar包的形式可以独立运行,使用java -jar xx.jar 就可以成功运行项目。

2)内嵌servlet容器。内嵌容器,使得我们可以执行运行项目的主程序main函数,使得项目可以快速运行。

3)提供starter简化Maven配置。SpringBoot提供了一系列的start pol用来简化maven依赖。如:常用的spring-boot- starter-web、spring-boot-starter-tomcat、spring-boot-starter-actuator等。