当前位置: 首页 > news >正文

【Spring Boot】面试题汇总,带答案的那种

继上次的文章【MySQL连环炮,你抗的住嘛?】爆火之后,越来越多的小伙伴后台留言,要求阿Q总结下其他的“连环炮”知识点,想在金九银十的面试黄金期轻松对线面试官。

同样为了节省大家的时间,阿Q最近对【Spring Boot】的知识点进行了系统的总结。那么,你准备好迎接【Spring Boot】连环炮了吗?

在这里插入图片描述

文章目录

  • 1、什么是 Spring Boot
  • 2、为什么要使用 Spring Boot
  • 3、Spring 和 Spring Boot 的区别
  • 4、Spring Boot 和 Spring Cloud 的区别
  • 5、SpringBoot 的优点
  • 6、 Spring Boot 的核心注解
  • 7、日志框架

1、什么是 Spring Boot

Spring Boot 是一个简化了 Spring 应用程序开发的框架,它通过提供默认配置和约定来减少开发者的工作量,并提供了丰富的功能和集成,使得开发者可以更加高效地构建和部署应用程序。

2、为什么要使用 Spring Boot

Spring Boot 提供了很多特性:自动配置、嵌入式 Web 服务器、健康检查、度量指标、安全性等。开发人员可以通过使用 Spring Boot Starter 来快速集成常用的第三方库和框架,比如 Spring Data、Spring Security、MyBatis、Redis 等。

3、Spring 和 Spring Boot 的区别

Spring 和 Spring Boot 的区别在于它们的目标和用途不同:Spring 是一个轻量级的开源框架,它提供了一种简单的方式来构建企业级应用程序。

Spring Boot 则是 Spring 框架的延伸和扩展,它提供了一种快速构建应用程序的方式。开发人员可以通过使用 Spring Boot Starter 来快速集成常用的第三方库和框架,使得开发人员可以快速构建出一个可运行的应用程序。

4、Spring Boot 和 Spring Cloud 的区别

Spring Boot 是快速开发的 Spring 框架,SpringCloud 是完整的微服务框架,SpringCloud 依赖于 SpringBoot。

5、SpringBoot 的优点

Spring Boot 是一个基于 Spring 框架的快速开发框架,它有以下优点:

  • 简化配置: Spring Boot 采用约定大于配置的原则,提供了自动配置的特性,大部分情况下无需手动配置,可以快速启动和运行应用程序。同时,Spring Boot 提供了统一的配置模型,集成了大量常用的第三方库和框架,简化了配置过程。
  • 内嵌服务器: Spring Boot 集成了常用的内嵌式服务器,如 Tomcat、Jetty 和 Undertow 等。这意味着不再需要单独安装和配置外部服务器,可以直接运行 Spring Boot 应用程序,简化了部署和发布过程。
  • 自动装配: Spring Boot 提供了自动装配机制,根据应用程序的依赖关系和配置信息,智能地自动配置 Spring 的各种组件和功能,大大减少了开发人员的手动配置工作,提高了开发效率。
  • 起步依赖: Spring Boot 引入了起步依赖(Starter Dependencies)的概念,它是一种可用于快速集成相关技术栈的依赖项集合。起步依赖能够自动处理依赖冲突和版本兼容性,并提供了默认的配置和依赖管理,简化了构建和管理项目的过程。
  • 自动化监控和管理: Spring Boot 集成了 Actuator 模块,提供了对应用程序的自动化监控、管理和运维支持。通过 Actuator,可以获取应用程序的健康状况、性能指标、配置信息等,方便运维人员进行故障排查和性能优化。
  • 丰富的生态系统: Spring Boot 建立在 Spring Framework 的基础上,可以无缝集成 Spring 的各种功能和扩展,如 Spring Data、Spring Security、Spring Integration 等。同时,Spring Boot 还提供了大量的第三方库和插件,可以方便地集成其他技术栈,构建全栈式应用程序。
  • 可扩展性和灵活性: 尽管 Spring Boot 提供了很多自动化的功能和约定,但它也保持了良好的可扩展性和灵活性。开发人员可以根据自己的需求进行自定义配置和扩展,以满足特定的业务需求。

综上所述,Spring Boot 是一个强大而又灵活的开发框架,具有简化配置、快速开发、自动化监控、微服务支持等诸多优点。它极大地提高了开发效率、降低了开发成本,并且在行业中得到了广泛的认可和应用。

6、 Spring Boot 的核心注解

它的核心注解就是启动类上的 @SpringBootApplication ,点击它,你会看到它里边又包含了 @SpringBootConfiguration、@EnableAutoConfiguration 和 @ComponentScan 三个重要的注解。

  • @SpringBootConfiguration:组合了 @Configuration 注解,实现配置文件的功能。@Configuration 与 @Bean 结合使用。@Configuration 可理解为用 spring 的时候 xml 里面的标签,@Bean可理解为用 spring 的时候 xml 里面的标签。
  • @EnableAutoConfiguration:打开自动配置的功能,它的子注解中最关键的就是 @Import(AutoConfigurationImportSelector.class) ,借助 AutoConfigurationImportSelector@EnableAutoConfiguration 可以帮助 Spring Boot 应用将所有符合条件的 @Configuration 配置都加载到当前 Spring Boot 创建并使用的IoC容器。
  • @ComponentScan:Spring 组件扫描,默认为当前包及其子包。Spring Boot 中的 Spring 容器在启动的时候,会扫描当前包与子包中所有实现 @Component 注解或者其子类如 @Configuration(找个本质上还是 @Component)标记的类,认为这些类是 bean, 并且把这些 bean 对应的 beanDefinition 放到容器中进行管理。

7、日志框架

Spring Boot 支持 Java Util Logging、Log4j2、Lockback 作为日志框架,如果你使用 Starters 启动器,Spring Boot 将使用 Logback 作为默认日志框架。

今天的内容到这里就结束了,跪求一键三连,期望靓仔在评论区打出老铁666,鼓励一下阿Q。

好看的皮囊千篇一律,有趣的灵魂万里挑一,让我们在冷漠的城市里相互温暖,我是阿Q,我们下期再见!

相关文章:

【Spring Boot】面试题汇总,带答案的那种

继上次的文章【MySQL连环炮,你抗的住嘛?】爆火之后,越来越多的小伙伴后台留言,要求阿Q总结下其他的“连环炮”知识点,想在金九银十的面试黄金期轻松对线面试官。 同样为了节省大家的时间,阿Q最近对【Sprin…...

【大模型】快速体验百度智能云千帆AppBuilder搭建知识库与小助手

文章目录 前言千帆AppBuilder什么是千帆AppBuilderAppBuilder能做什么 体验千帆AppBuilderJava知识库高考作文小助手 总结 前言 前天,在【百度智能云智算大会】上,百度智能云千帆AppBuilder正式开放服务。这是一个AI原生应用开发工作台,可以…...

字符串压缩

...

MsSQL中的索引到底长啥样,查找过程怎么进行

参考文章一 参考文章二 建表 mysql> create table user(-> id int(10) auto_increment,-> name varchar(30),-> age tinyint(4),-> primary key (id),-> index idx_age (age)-> )engineinnodb charsetutf8mb4;insert into user(name,age) values(张三,…...

WPF 全局异常处理

在Application中存在三种异常事件EventHandler DispatcherUnhandledExceptionAppDomain.CurrentDomain.UnhandledExceptionTaskScheduler.UnobservedTaskException 其中 DispatcherUnhandledException 是在异常由应用程序引发但未进行处理时发生,但无法捕获多线程…...

Flink系列之:Elasticsearch SQL 连接器

Flink系列之:Elasticsearch SQL 连接器 一、Elasticsearch SQL 连接器二、创建 Elasticsearch表三、连接器参数四、Key 处理五、动态索引六、数据类型映射 一、Elasticsearch SQL 连接器 Sink: BatchSink: Streaming Append & Upsert ModeElasticsearch 连接器…...

java中将Map集合、对象、字符串转换为JSON对象

1、Map集合转JSON对象 创建一个Map集合&#xff1b; 新建json对象&#xff0c;并将Map引入json中。 public void demo1(){ //创建一个Map集合Map<String, String> map new HashMap<>();map.put("1729210001","zhangsan");map.put("17292…...

理解Spring中bean的作用域

singleton:Spring Ioc容器中只会存在一个共享的Bean实例&#xff0c;无论有多少个Bean引用它&#xff0c;始终指向同一个对象&#xff0c;作用域为Spring中的缺省&#xff08;同一package&#xff09;作用域 prototype:每次通过Spring容器获取prototype定义的bean时&#xff0c…...

edge中以右键“打印”的方式“保存”当前页面的pdf形式,下载过程中卡进度的问题

目录 问题描述&#xff1a; 可能的问题&#xff1a; 解决&#xff1a; 问题描述&#xff1a; 特殊情况下需要保存网页的pdf形式&#xff0c;但页面没有类似“导出pdf”的功能按钮&#xff0c;可以通过页面右键“打印”的方式“保存”当前页面的pdf形式。在pdf文件下载过程中出…...

c# 使用OpenCV

C#和OpenCV的结合主要通过一个名为OpenCVSharp的库实现。OpenCVSharp是一个C#包装器&#xff0c;它提供了对OpenCV&#xff08;一个开源的计算机视觉和机器学习库&#xff09;功能的访问。 安装OpenCVSharp NuGet包&#xff1a; 在Visual Studio中&#xff0c;右键点击你的项目…...

数据库连接问题 - ChatGPT对自身的定位

1.一段关于数据库连接的技术性对话 sweetie&#xff0c;连接数据库的时候&#xff0c;需要在每次读写数据后就把连接释放吗&#xff1f; 亲爱的&#xff0c;连接数据库后&#xff0c;通常会在每次读写数据后将连接释放。这是为了确保数据库连接的及时释放和有效管理。如果不及…...

常见可视化大屏编辑器有哪些?

前言&#xff1a; 在当今数字化时代&#xff0c;可视化大屏编辑器成为了数据展示和决策支持的重要工具。大屏编辑器不仅仅是数据的呈现&#xff0c;更是数据背后的故事的讲述者。它通过图表、图形和实时数据的呈现&#xff0c;为用户提供了全面的信息视图&#xff0c;帮助用户更…...

利用ffmpeg cv2取h265码流视频(转换图片灰屏问题解决)

利用海康威视相机拍出来的视频是H265格式的&#xff0c;相比于常规的H264编码&#xff0c;压缩率更高&#xff0c;但因此如果直接用正常取流方法读取&#xff0c;会出现无法读取的情况 1. 如图h265码流取出图片为灰屏 2 、解决灰屏问题 import subprocess import cv2# 将h265流…...

Android Uri scheme协议file转content

一、Uri的介绍 在Android开发中&#xff0c;Uri&#xff08;Uniform Resource Identifier&#xff09;是用于标识和访问各种资源的核心概念。这些资源可能包括文件、网络URL、数据库记录等。在处理这些资源时&#xff0c;我们可能会遇到不同的Uri协议&#xff0c;如file和conte…...

【Jenkins】远程API接口:Java 包装接口使用示例

jenkins-rest 库是一个面向对象的 Java 项目&#xff0c;它通过编程方式提供对 Jenkins REST API 的访问&#xff0c;以访问 Jenkins 提供的一些远程 API。它使用 jclouds 工具包构建&#xff0c;可以轻松扩展以支持更多 REST 端点。其功能集不断发展&#xff0c;用户可以通过拉…...

未能加载工具箱项问题的解决

解决办法是项目属性要设置成any cpu 在解决方案里的所有项目上右键&#xff0c;属性&#xff0c;生成&#xff0c;看目标平台是不是都设置成了any cpu...

算法模板之栈图文详解

&#x1f308;个人主页&#xff1a;聆风吟 &#x1f525;系列专栏&#xff1a;算法模板、数据结构 &#x1f516;少年有梦不应止于心动&#xff0c;更要付诸行动。 文章目录 &#x1f4cb;前言一. ⛳️模拟栈1.1 &#x1f514;用数组模拟实现栈1.1.1 &#x1f47b;栈的定义1.1.…...

Ajax Search Pro Live WordPress网站内容实时搜索插件

点击阅读Ajax Search Pro Live WordPress网站内容实时搜索插件原文 Ajax Search Pro Live WordPress网站内容实时搜索插件是 WordPress 最好的实时搜索引擎插件。高度可定制&#xff0c;具有许多功能和选项&#xff0c;可提供最佳结果&#xff01;用更美观、更高效的搜索引擎替…...

mysql SQL执行超时问题

show variables like max_execution_time 使用这个命令查看了&#xff0c;没有设置sql执行超时时间&#xff0c;那么大概率问题就出在阿里的Druid数据库连接池出了问题 尝试着socketTimeout由60000毫秒改成10000毫秒&#xff0c;果然执行了十几秒就超时报错了 socketTime…...

51单片机基于时间片轮转的简单rtos

早就想写写这个了&#xff0c;正好赶上有点时间&#xff0c;写了一下基于51单片机的时间片轮转调度系统&#xff0c;简单的rtos&#xff0c;呵呵。直接上代码。 //基于51单片机时间片轮转的简单rtos。 #include"reg52.h" sbit led1 P2^7; sbit led2 P2^0; sbit key…...

进程地址空间(比特课总结)

一、进程地址空间 1. 环境变量 1 &#xff09;⽤户级环境变量与系统级环境变量 全局属性&#xff1a;环境变量具有全局属性&#xff0c;会被⼦进程继承。例如当bash启动⼦进程时&#xff0c;环 境变量会⾃动传递给⼦进程。 本地变量限制&#xff1a;本地变量只在当前进程(ba…...

React Native 开发环境搭建(全平台详解)

React Native 开发环境搭建&#xff08;全平台详解&#xff09; 在开始使用 React Native 开发移动应用之前&#xff0c;正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南&#xff0c;涵盖 macOS 和 Windows 平台的配置步骤&#xff0c;如何在 Android 和 iOS…...

HBuilderX安装(uni-app和小程序开发)

下载HBuilderX 访问官方网站&#xff1a;https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本&#xff1a; Windows版&#xff08;推荐下载标准版&#xff09; Windows系统安装步骤 运行安装程序&#xff1a; 双击下载的.exe安装文件 如果出现安全提示&…...

VTK如何让部分单位不可见

最近遇到一个需求&#xff0c;需要让一个vtkDataSet中的部分单元不可见&#xff0c;查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行&#xff0c;是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示&#xff0c;主要是最后一个参数&#xff0c;透明度…...

Angular微前端架构:Module Federation + ngx-build-plus (Webpack)

以下是一个完整的 Angular 微前端示例&#xff0c;其中使用的是 Module Federation 和 npx-build-plus 实现了主应用&#xff08;Shell&#xff09;与子应用&#xff08;Remote&#xff09;的集成。 &#x1f6e0;️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...

CSS | transition 和 transform的用处和区别

省流总结&#xff1a; transform用于变换/变形&#xff0c;transition是动画控制器 transform 用来对元素进行变形&#xff0c;常见的操作如下&#xff0c;它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...

宇树科技,改名了!

提到国内具身智能和机器人领域的代表企业&#xff0c;那宇树科技&#xff08;Unitree&#xff09;必须名列其榜。 最近&#xff0c;宇树科技的一项新变动消息在业界引发了不少关注和讨论&#xff0c;即&#xff1a; 宇树向其合作伙伴发布了一封公司名称变更函称&#xff0c;因…...

手机平板能效生态设计指令EU 2023/1670标准解读

手机平板能效生态设计指令EU 2023/1670标准解读 以下是针对欧盟《手机和平板电脑生态设计法规》(EU) 2023/1670 的核心解读&#xff0c;综合法规核心要求、最新修正及企业合规要点&#xff1a; 一、法规背景与目标 生效与强制时间 发布于2023年8月31日&#xff08;OJ公报&…...

LCTF液晶可调谐滤波器在多光谱相机捕捉无人机目标检测中的作用

中达瑞和自2005年成立以来&#xff0c;一直在光谱成像领域深度钻研和发展&#xff0c;始终致力于研发高性能、高可靠性的光谱成像相机&#xff0c;为科研院校提供更优的产品和服务。在《低空背景下无人机目标的光谱特征研究及目标检测应用》这篇论文中提到中达瑞和 LCTF 作为多…...