Java岗位必备技能SpringBoot的面试题集锦

news2024/9/23 9:32:05

当下SpringBoot框架真的很火,大多数企业把它作为基础技能,考察求职者的能力。如下截图,是我从Boss直聘中找到的,要求SpringBoot是必备技能。


所以非常有必要为了面试,好好归纳下SpringBoot常被提起来的问题。

题目大纲如下:

  1. 什么是SpringBoot?
  2. SpringBoot与Spring、Spring MVC之间有什么关系?
  3. 使用SpringBoot有什么优势?
  4. SpringBoot默认的配置文件是什么?
  5. 如何根据SpringBoot项目所处的环境,定义不同的配置?
  6. 解释下SpringBoot的核心注解@SpringBootApplication的组成
  7. 开启SpringBoot特性的两种方式?
  8. SpringBoot项目如何兼容Spring的配置
  9. SpringBoot的读取放置在不同目录下的配置文件,优先级是怎样的?

什么是SpringBoot?

SpringBoot是建立在现有Spring框架之上,使开发人员简化Spring项目开发,降低使用成本。

SpringBoot与Spring、Spring MVC之间有什么关系?

Spring的全称是Spring Framework。

Spring MVC是Spring Framework的子模块。

而SpringBoot是构造在Spring Framework之上的Boot启动器。

使用SpringBoot有什么优势?

  • 内嵌常用应用服务器,比如Tomcat、Jetty等,不用单独再配置应用服务器,并且不用打成war包
  • 可以以jar包的形式,快速独立运行项目
  • 在maven的pom.xml配置文件中提供了Starters,而不需要到处找依赖包,避免了大量依赖的导入以及版本之间的冲突与不兼容

SpringBoot默认的配置文件是什么?

默认配置文件是项目根目录下的application.properties或者application.yml文件。

如何根据SpringBoot项目所处的环境,定义不同的配置?

我们可以在主配置文件application.properties之外,再新增如下文件,满足不同环境的要求:

  • 开发环境:application-dev.properties
  • 测试环境:application-test.properties
  • 生产环境:application-prop.properties

如果需要激活某个环境的配置,只需在主配置文件application.properties指定项目所在环境的标识,配置内容如下:

spring:
  profiles:
    active: dev #开发环境

解释下SpringBoot的核心注解@SpringBootApplication的组成

它包含以下3个重要的注解:

  • @ComponentScan

该注解实现Spring组件的扫描。

  • @EnableAutoConfiguration

该注解能够让SpringBoot打开自动配置的功能。

  • @SpringBootConfiguration

该注解实现配置文件的功能。

开启SpringBoot特性的两种方式?

  • 继承spring-boot-starter-parent项目
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.2.2.RELEASE</version>
</parent>

导入spring-boot-dependencies依赖

<dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>2.2.2.RELEASE</version>
                <scope>import</scope>
</dependency>

实际开发中,推荐使用第二种方式。因为如果我们创建的项目已经存在自己的父级项目,会与第一种方式存在冲突。

SpringBoot项目如何兼容Spring的配置

在启动类中添加:

SpringBoot的读取放置在不同目录下的配置文件,优先级是怎样的?

配置文件具体可以放置在如下目录,按被读取的优先级由高到低排列:

#当前项目根目录下的config目录下,被读取的优先级最高
file:/config/
#当前项目根目录下
file:/
#类路径下的config目录下
classpath:/config/
#类路径目录下,被读取的优先级最低
classpath:/

假如项目中存在两个及以上的这样的目录,等级高的会覆盖掉比它低的配置文件。

为了方便给大家准备了非常全的一套SpringBoot一线大厂面试题。全面覆盖BATJ等一线互联网公司的面试题及解答,由BAT一线互联网公司大牛带你深度剖析面试题背后的原理,不仅授你以鱼,更授你以渔,为你面试扫除一切障碍。资料已整理成文档,需要获取的小伙伴可以直接转发+关注后私信(学习)即可获取哦

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/32660.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Tesseract .Net SDK C# OCR 2022.1

Tesseract .Net SDK C# OCR 库 #将扫描的 PDF 转换为可搜索的文档 #快速准确的基于神经网络的引擎 #纠正低质量扫描 # 120 多种语言 # .Net 2.0, .Net 5, 标准, 核心 Tesseract OCR - industry-fastest .Net OCR library 4 行代码&#xff0c;仅此而已 var api OcrApi.Creat…

[附源码]java毕业设计疫情环境下的酒店管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

不知道什么的复习题

P4408 [NOI2003] 逃学的小孩&#xff0c;一眼就看出要化简题面&#xff1a;不就是找三个点使得ABBC最大嘛&#xff0c;不妨想起直径的性质&#xff0c;最长&#xff0c;而且其他点到它的距离最长。那么直接拿直径来做就行。推导出结论为ansmax(min(dis[A][k],dis[B][k])dis[A][…

CSS3------CSS选择器

界面中的“超文本“本质上就是通过一个一个矩形盒子包起来&#xff0c;然后进行排版组合&#xff0c;那么接下来要详细研究这个标签盒子的细节结构&#xff0c;以帮助学习如何使用它&#xff0c;但是在开始研究它之前&#xff0c;我们先来了解一个概念&#xff0c;选择器的概念…

BN、CBN、CmBN 的对比与总结

BN、CBN、CmBN 的对比与总结 最近看到了关于 Yolo 系列 trick 的总结文章 【Make YOLO Great Again】YOLOv1-v7全系列大解析&#xff08;Tricks篇&#xff09;&#xff0c;其中提到了 YoloV4 中使用了 CmBN&#xff0c;这是对 CBN 的改进&#xff0c;可以较好的适应小 batch 的…

电容笔值不值得买?电容笔十大品牌排行

要想给我们的ipad配置一款电容笔&#xff0c;如果感觉苹果原装的电容笔价格远远超过预算。这时候平替电容笔是个非常值得入手的选择。试想一下购买一款苹果原装的电容笔的资金都够买整整四款平替电容笔了&#xff0c;平替电容笔价格便宜且功能跟苹果的电容笔相差无几。下面我来…

【设计模式】 - 结构型模式 - 迭代器模式

目录标题前言迭代器模式概述结构实现优缺点JDK源码解析前言 行为型模式用于描述程序在运行时复杂的流程控制&#xff0c;即描述多个类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务&#xff0c;它涉及算法与对象间职责的分配。 行为型模式分为类行为模式和对象…

ai绘画有哪些软件,盘点三款免费且超级好用的AI绘画工具

Ai绘画有哪些软件&#xff1f;不但可以免费使用&#xff0c;而且生成的画作精美&#xff0c;而且生成的图片速度还要很快&#xff1f; 不用急&#xff0c;今天小编给大家推荐的这三款ai绘画工具完全满足了上述条件&#xff01; 第一款&#xff0c;重磅级产品&#xff0c;数画…

内存 地址转换、分段、空闲空间管理

目录 1. 地址转换 1.1 动态重定位 1.1.1 基址寄存器&#xff08;虚拟地址 -> 物理地址) 1.1.2 界限寄存器&#xff08;提供访问保护&#xff09; 1.2 操作系统的工作 2. 分段 2.1 分段&#xff1a;泛化的基址/界限 2.2 引用哪个段 2.3 代码和堆的地址转换举例 2.4…

Java#23(常见API--1)

目录 一.Math Math是一个帮助我们用于进行数学计算的工具类 工具类的特点: Math类中的常用方法 二.System System是一个工具类,为我们提供一些与系统相关的办法 一.Math Math是一个帮助我们用于进行数学计算的工具类 工具类的特点: 私有化构造方法,所有的方法都是静态的 M…

[附源码]java毕业设计医院预约挂号管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

web网页设计期末课程大作业 我的美丽家乡盐城 HTML+CSS+JavaScript

家乡旅游景点网页作业制作 网页代码运用了DIV盒子的使用方法&#xff0c;如盒子的嵌套、浮动、margin、border、background等属性的使用&#xff0c;外部大盒子设定居中&#xff0c;内部左中右布局&#xff0c;下方横向浮动排列&#xff0c;大学学习的前端知识点和布局方式都有…

Linux C应用编程-2-Makefile编写

1.基本规则 #规则格式 target ... : prerequisites ... command1command2#例如 main: main.o stack.o maze.ogcc main.o stack.o maze.o -o main main是规则的目标&#xff08;Target&#xff09;&#xff0c;main.o、stack.o和maze.o是规则的条件&#xff08;Prerequisite&am…

贴地气的安卓UI自动化工具4399AT全面更新了~

4399AT是 一款兼容多设备运行并实现全自动化的测试的安卓UI工具&#xff0c;全自动化测试是指从apk的安装到按钮点击&#xff0c;密码输入到安装完成&#xff0c;不需要人工介入&#xff0c;兼容android5.0-12.0系统大部分品牌&#xff0c;至于开始测试&#xff0c;启动apk后&a…

(十)笔记.net学习Lambda和Linq表达式

1.lambda表达式的演变 Lambda表达式的本质是“匿名方法”&#xff1a; C#的Lambda 表达式都使用 Lambda 运算符 >&#xff0c;该运算符读为“goes to”。语法如下&#xff1a; (object argOne, object argTwo) > {; /*Your statement goes here*/} 函数体多于一条语句…

一次Actuator未授权访问利用

目录 介绍 复现 Actuator目录下可能利用泄漏信息的路径 利用 思考 处理意见 介绍 事先得到同意对朋友公司的网站进行了扫描&#xff0c;扫出了一个Actuator未授权&#xff0c;于是开始复现并记录一下&#xff0c;最后获取了redis的密码 复现 这里是请求包 响应包成功返回…

qt 虚拟键盘中的几个瑕疵

最近使用了下面楼主的虚拟键盘&#xff0c;总体还是挺好用的&#xff0c;只是有几个地方&#xff0c;需要完善下。 基于Qt的可用于嵌入式的虚拟键盘_偷段代码的博客-CSDN博客_qt 嵌入式虚拟键盘这几天完成了一个基于Qt的虚拟键盘的编写&#xff0c;记录一下过程与感受&#xf…

Python操作Numpy模块库

14天学习训练营导师课程&#xff1a; 杨鑫《Python 自学编程基础》 杨鑫《 Python 网络爬虫基础》 杨鑫《 Scrapy 爬虫框架实战和项目管理》 Python操作Numpy模块库 文章目录Python操作Numpy模块库1.Numpy介绍2.Numpy安装3.Numpy模块练习3.1 创建数组3.2 获取数组3.3 切割数组…

二叉树路径问题+递归+有关题目

一、分类 1、自顶向下 顾名思义&#xff0c;就是从某一个节点(不一定是根节点)&#xff0c;从上向下寻找路径&#xff0c;到某一个节点(不一定是叶节点)结束&#xff0c;具体题目如下&#xff1a;而继续细分的话还可以分成一般路径与给定和的路径 二叉树的所有路径面试题 04…

Qt 利用UDP进行通信

一、UDP的特点 UDP&#xff08;用户数据报协议&#xff09;是一种简单轻量级、不可靠、面向数据报&#xff0c;无连接的传输层协议。而TCP/IP协议却是有连接的 二、UDP适合应用的几种情况 1、网络数据大多为短消息 2、拥有大量客户端 3、对数据安全性无特殊要求 4、网络负…