Spring Boot 面试的10道基础题

本文涵盖了Spring Boot面试中的10道基础问题,包括自动配置原理、配置加载顺序、支持的嵌入式Web容器、YAML特性、配置文件区别、Spring Profiles、安全实现、CSRF攻击解释以及应用运行方式等核心知识点。

1. Springboot 自动配置的原理:
@SpringBootApplication注解实现,其包括 @EnableAutoConfiguration 注解  @Configuration 注解 @ConditionalOnClass 注解
它是一个配置文件,其次可以根据路径下是否这个类去自动配置。
具体的步骤:
maven 读取每个starter 中的spring.factories 文件,该文件配置了所有需要被创建在spring 容器中的bean 。

2. SpringBoot 配置的加载顺序?
Springboot 配置加载顺序的优先级是: propertiese 文件、 YAML 文件、 系统环境变量、命令行参数。

3. SpringBoot 支持那些嵌入式Web 容器?
Tomcat、 Jetty、 Undertow

4. 什么是YAML?
YAML 是一种可读的数据序列化语言,它通常用于配置文件。

5. YAML 配置的优势在哪里?
配置有序
支持数据,数组中的元素可以使基本数据类型或者对象
简洁方便

6. application.properties 与 bootstrap.properties 的区别?
bootstrap 比application 优先加载,配置在应用程序上下文的引导阶段生效,而且bootstrap 里面属性不能被覆盖;
application 用于springboot 项目的自动化配置。

7. 什么是 Spring Profiles?
Spring  Profiles 允许用户根据配置文件(dev、prod、test等等)来注册bean, 当应用程序在开发环境中运行时,只有某些bean 可以加载,而在生产环境中,某些其他
bean 可以加载,比如要求swagger 文件仅适用于测试环境并且禁用所有其他文档,可以使用配置文件来完成。

8. 如何实现Spring Boot 应用程序的安全性?
为了实现Spring Boot 的安全性,可以使用spring-boot-starter-security 依赖,添加安全配置和重写WebSecurityConfigureAdapter 配置类的方法

9. 什么是 CSRF 攻击?
  CSRF 代表跨站请求伪造,是一种攻击,迫使最终用户在当前通过身份验证的Web 应用程序上执行不需要的操作。CSRF 攻击专门针对状态改变请求,而不是数据窃取,因为攻击者
无法查看对伪造请求的响应。

10.  运行SpringBoot 有哪几种方式?
(1)用命令行打包或者放到容器中运行
(2)Maven 插件运行
(3)直接执行main 方法执行
 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值