题目
说说你对 SpringBoot 的理解(Spring 和 SpringBoot 的区别)
解释
类似问题如 “为什么要用 SpringBoot?SpringBoot 的优势”
答案
Spring Boot 目前已经变成了后端开发这必备技能之一,其中一个主要原因是 Spring Boot 中有个非常重要的机制(starter 机制)。
starter 能够抛弃以前繁杂的配置,将其统一集成进 starter,使用的时候只需要在 maven 中引入对应的 starter 依赖即可,Spring Boot 就能自动扫描到要加载的信息并启动相应的默认配置。
starter 让我们摆脱了各种依赖库的处理,以及各种配置信息的烦恼。事实上 Spring Boot 团队已经帮助现有大部分的流行的组件创建好了它们的 starter(你可以在[这里](https://github.com/spring-projects/spring-boot/tree/v1.5.7.RELEASE/spring-boot-starters)查看这些 starter 的列表)。**所有这些依赖模块都遵循着约定成俗的默认配置,并允许我们覆写这些默认配置,即遵循【约定大于配置】的理念**。SpringBoot 会自动通过 classpath 路径下的类发现需要的 Bean,并注册进 IoC 容器
简而言之,从本质上来说,**Spring Boot 本身并不提供 Spring 的核心功能,而是作为 Spring 的脚手架框架**,以达到快速构建项目、预置三方配置、开箱即用的目的,**它自动地帮我们做了那些没有它我们自己也会去做的 Spring Bean 配置**,基于“约定大于配置” 的理念让你的项目快速地运行起来,使用 Spring Boot 你可以不用或者只需要很少的 Spring 配置
Spring Boot 有如下的优点:
- 可以快速构建项目;
- 可以对主流开发框架的无配置集成;
- 内置了 Tomcat/Jetty 等容器,可独立运行,无需外部依赖 Servlet 容器;
- 提供运行时的应用监控;
- 可以极大地提高开发、部署效率;
- 可以与云计算天然集成
