这篇文章主要介绍“2021最新版Spring Boot的面试题有哪些”,在日常操作中,相信很多人在2021最新版Spring Boot的面试题有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”2021最新版Spring Boot的面试题有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
1. 什么是SpringBoot?
通过Spring Boot,可以轻松地创建独立的,基于生产级别的Spring的应用程序,您可以“运行”它们。大 多数Spring Boot应用程序需要最少的Spring配置。
2. 为什么要用SpringBoot
快速开发,快速整合,配置简化、内嵌服务容器
3. SpringBoot与SpringCloud 区别
SpringBoot是快速开发的Spring框架,SpringCloud是完整的微服务框架,SpringCloud依赖于 SpringBoot。
4. Spring Boot 有哪些优点?
Spring Boot 主要有如下优点:
容易上手,提升开发效率,为 Spring 开发提供一个更快、更简单的开发框架。
开箱即用,远离繁琐的配置。
提供了一系列大型项目通用的非业务性功能,例如:内嵌服务器、安全管理、运行数据监 控、运行状况检查和外部化配置等。
SpringBoot总结就是使编码变简单、配置变简单、部署变简单、监控变简单等等
5. Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的?
启动类上面的注解是@SpringBootApplication,它也是 Spring Boot 的核心注解,主要组合包含了以下 3 个注解:
@SpringBootConfifiguration:组合了 @Confifiguration 注解,实现配置文件的功能。
@EnableAutoConfifiguration:打开自动配置的功能,也可以关闭某个自动配置的选项, 例 如: 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的缺点
11. 运行 Spring Boot 有哪几种方式?
打包用命令或者放到容器中运行
用 Maven/ Gradle 插件运行
直接执行 main 方法运行
12. Spring Boot 需要独立的容器运行吗?
13. 开启 Spring Boot 特性有哪几种方式?
继承spring-boot-starter-parent项目
导入spring-boot-dependencies项目依赖
14. SpringBoot 实现热部署有哪几种方式?

15. SpringBoot事物的使用
16. Async异步调用方法
17. 如何在 Spring Boot 启动的时候运行一些特定的代码?
18. Spring Boot 有哪几种读取配置的方式?
19. 什么是 JavaConfig?

20. SpringBoot的自动配置原理是什么

21. 你如何理解 Spring Boot 配置加载顺序?

22. 什么是 YAML?
23. YAML 配置的优势在哪里 ?

24. Spring Boot 是否可以使用 XML 配置 ?
25. spring boot 核心配置文件是什么?bootstrap.properties 和 application.properties 有何区别 ?

26. 什么是 Spring Profiles?

27. SpringBoot多数据源拆分的思路
28. SpringBoot多数据源事务如何管理
29. 保护 Spring Boot 应用有哪些方法?
在生产中使用HTTPS
使用Snyk检查你的依赖关系
升级到最新版本
启用CSRF保护
使用内容安全策略防止XSS攻击
30. 如何实现 Spring Boot 应用程序的安全性?

31. 比较一下 Spring Security 和 Shiro 各自的优缺点 ?

32. Spring Boot 中如何解决跨域问题 ?
@Configuration
public class CorsConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("*")
.allowCredentials(true)
.allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS")
.maxAge(3600);
}
}33. Spring Boot 中的监视器是什么?

34. 如何使用 Spring Boot 实现全局异常处理?
35. 我们如何监视所有 Spring Boot 微服务?

36. SpringBoot性能如何优化
37. 如何重新加载 Spring Boot 上的更改,而无需重新启动服务器?Spring Boot项目如何热部署?

38. SpringBoot微服务中如何实现 session 共享 ?

39. 您使用了哪些 starter maven 依赖项?

40. Spring Boot 中的 starter 到底是什么 ?

41. Spring Boot 中如何实现定时任务 ?
42. spring-boot-starter-parent 有什么用 ?

43. SpringBoot如何实现打包
44.Spring Boot 打成的 jar 和普通的 jar 有什么区别 ?

45. SpringBoot的特征?
创建独立的Spring应用程序
直接嵌入Tomcat,Jetty或Undertow(无需部署WAR文件)
提供固化的“starter”依赖项,以简化构建配置
尽可能自动配置Spring和3rd Party库
提供可用于生产的功能,例如指标,运行状况检查和外部化配置
完全没有代码生成,也不需要XML配置
46.如何快速构建一个SpringBoot项目?
47.SpringBoot启动类注解?它是由哪些注解组成?

48.什么是yaml?
49.SpringBoot支持配置文件的格式?

50.SpringBoot启动方式?
main方法
命令行 java -jar 的方式
mvn/gradle
51.SpringBoot需要独立的容器运行?
52.SpringBoot配置途径?
命令行参数
java:comp/env里的JNDI属性
JVM系统属性
操作系统环境变量
随机生成的带random.*前缀的属性(在设置其他属性时,可以引用它们,比如${random.long})
应用程序以外的application.properties或者appliaction.yml文件
打包在应用程序内的application.properties或者appliaction.yml文件
通过@PropertySource标注的属性源
默认属性
53.application.properties和application.yml文件可放位置?优先级?

54.SpringBoot自动配置原理?
@EnableAutoConfifiguration (开启自动配置) 该注解引入了AutoConfifigurationImportSelector,该类中的方法会扫描所有存在META-INF/spring.factories的jar包。
55.SpringBoot热部署方式?
spring-boot-devtools
Spring Loaded
Jrebel
模版热部署
56.「bootstrap.yml」 和「application.yml」?
57.SpringBoot如何修改端口号?

58.开启SpringBoot特性的几种方式?
继承spring-boot-starter-parent项目
导入spring-boot-dependencies项目依赖
59.SpringBoot如何兼容Spring项目?
在启动类加:
@ImportResource(locations = {"classpath:spring.xml"})
60.SpringBoot配置监控?
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
61.获得Bean装配报告信息访问哪个端点?
62.关闭应用程序访问哪个端点?

63.查看发布应用信息访问哪个端点?
64.针对请求访问的几个组合注解?
@PatchMapping
@PostMapping
@GetMapping
@PutMapping
@DeleteMapping
65.SpringBoot 中的starter?

66.SpringBoot集成Mybatis?
67.什么是SpringProfiles?
mybatis-spring-boot-starter
68.不同的环境的配置文件?

69.如何激活某个环境的配置?

70.编写测试用例的注解?
71.SpringBoot异常处理相关注解?
@ControllerAdvice
@ExceptionHandler
72.SpringBoot 1.x 和 2.x区别?
SpringBoot 2基于Spring5和JDK8,Spring 1x用的是低版本。
配置变更,参数名等。
SpringBoot2相关的插件最低版本很多都比原来高
2.x配置中的中文可以直接读取,不用转码
Actuator的变化
CacheManager 的变化
73.SpringBoot读取配置相关注解有?
到此,关于“2021最新版Spring Boot的面试题有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注天达云网站,小编会继续努力为大家带来更多实用的文章!