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等。