Spring Boot — 基础入门
📋 本文节选自《Spring Boot 面试题》,返回 查看全部章节
1. 什么是 Spring Boot?
Spring Boot 是 Spring 开源组织下的子项目,是 Spring 组件一站式解决方案,主要是简化了使用 Spring 的难度,简省了繁重的配置,提供了各种启动器,使开发者能快速上手。
2. 为什么要用SpringBoot
快速开发,快速整合,配置简化、内嵌服务容器
3. SpringBoot与SpringCloud 区别
SpringBoot是快速开发的Spring框架,SpringCloud是完整的微服务框架,SpringCloud依赖于SpringBoot。
4. Spring Boot 有哪些优点?
Spring Boot 主要有如下优点:
1、 容易上手,提升开发效率,为Spring开发提供一个更快、更简单的开发框架;
2、 开箱即用,远离繁琐的配置;
3、 提供了一系列大型项目通用的非业务性功能,例如:内嵌服务器、安全管理、运行数据监;控、运行状况检查和外部化配置等。
4、 SpringBoot总结就是使编码变简单、配置变简单、部署变简单、监控变简单等等;
5. Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的?
启动类上面的注解是@SpringBootApplication,它也是 Spring Boot 的核心注解,主要组合包含了以下 3 个注解:
@SpringBootConfiguration:组合了 @Configuration 注解,实现配置文件的功能。
@EnableAutoConfiguration:打开自动配置的功能,也可以关闭某个自动配置的选项, 例如: java 如关闭数据源自动配置功能: @SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })。
@ComponentScan:Spring组件扫描。
6. Spring Boot 支持哪些日志框架?推荐和默认的日志框架是哪个?
Spring Boot 支持 Java Util Logging, Log4j2, Lockback 作为日志框架,如果你使用 Starters 启动器,Spring Boot 将使用 Logback 作为默认日志框架,但是不管是那种日志框架他都支持将配置文件输出到控制台或者文件中。
7. SpringBoot Starter的工作原理
我个人理解SpringBoot就是由各种Starter组合起来的,我们自己也可以开发Starter
在sprinBoot启动时由@SpringBootApplication注解会自动去maven中读取每个starter中的spring.factories文件,该文件里配置了所有需要被创建spring容器中的bean,并且进行自动配置把bean注入SpringContext中 //(SpringContext是Spring的配置文件)
8. Spring Boot 2.X 有什么新特性?与 1.X 有什么区别?
配置变更
JDK 版本升级
第三方类库升级
响应式 Spring 编程支持
HTTP/2 支持
配置属性绑定
更多改进与加强
9. SpringBoot支持什么前端模板,
thymeleaf,freemarker,jsp,官方不推荐JSP会有限制
10. SpringBoot的缺点
我觉得是为难人,SpringBoot在目前我觉得没有什么缺点,非要找一个出来我觉得就是由于不用自己做的配置,报错时很难定位。
11. 运行 Spring Boot 有哪几种方式?
1、 打包用命令或者放到容器中运行;
2、 用Maven/Gradle插件运行;
3、 直接执行main方法运行;