什么是Spring Boot
在附上我自己对这个问题的理解之前,我们先看一下Spring官方对此的解释(源自https://spring.io/projects/spring-boot):
Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run".
We take an opinionated view of the Spring platform and third-party libraries so you can get started with minimum fuss. Most Spring Boot applications need very little Spring configuration.
翻译成中文,并结合我个人对此的理解就是:
Spring Boot并不是对Spring另立家门的改造,而是与之一脉相承的拓展,Spring Boot的出现是为了更快、更简便地搭建基于Spring的工程。Spring Boot提供了一系列机制,来尽可能地简化、甚至不需要用户去配置Spring相关的配置文件。
Spring Boot是一个桥梁,连接传统的使用Spring配置文件进行开发的方式和基于Spring Boot少配置、甚至不配置Spring配置文件的开发方式。
为什么要使用Spring Boot
上文中已经提到,Spring Boot的优势在于:
1. 尽可能地少配置、甚至无需配置Spring配置文件,将这些工作交由Spring Boot去做;
2. 将常用的组件,内置到Spring Boot内部,比如tomcat、jetty等,无需使用者另行依赖。
Spring Boot的局限性
所谓“有一利就有一弊",Spring Boot在提供了便利的同时,必然也会使得其配置过程封装在其内核中,如果使用者对Spring Boot的内部实现机制不够深入理解的话,有可能会导致Spring Boot的配置效果与使用者预期不一致。
因此,了解Spring Boot内部的一些主要模块的实现机制,势在必行。