springboot常见面试题(2023最新)(代码片段)

爱穿背带裤的馫 爱穿背带裤的馫     2023-04-01     767

关键词:

目录

前言

java最新面试题(java基础、集合、多线程、jvm、锁、算法、CAS、Redis、数据库、mybatis、spring、springMVC、springBoot、微服务)

1.谈谈你对springBoot的理解

是一站式解决方案,简化了spring繁重的配置,提供了各种启动器,让开发者更好上手。

2.为什么使用springBoot或springBoot的优点

(1)版本锁定: 解决maven依赖版本冲突问题
(2)起步依赖: 解决jar过多问题
(3)自动配置: 解决配置文件过多问题
(4)内置tomcat: 通过内置tomcat,不需要其他外置tomcat,也能运行javaEE。

3. springBoot与springCloud 区别

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

4.springBoot的核心配置文件有哪些,作用是什么

applicationbootstrap 配置文件。
application: 用于项目的自动化配置。
bootstrap: 一些不能被覆盖的属性和加密或解密的场景。比application要先加载。

5.springBoot配置文件有几种类型,区别是什么

.yml和.properties
区别主要是书写方法不一样,.properties加载优先级大于.yml。

server.port = 8088 //.properties方式

server:           //.yml方式
	port:8088

6.什么是热部署?springBoot怎么实现热部署

热部署: 修改代码不需要重启,就可以实现编译并部署到服务器上。(1)在开发时修改代码不需要重启服务,节省了时间。(2)部署在服务器上的程序,可以在不停止的情况下进行升级。
①使用devtools。在配置文件中把devtools.restart.enabled 设置为 true。每次都需要build一下才行。
②idea设置实现热部署。

7.什么是 JavaConfig?

JavaConfig 是 Spring 社区的产品,它提供了配置 Spring IoC 容器的纯 Java 方法,有助于避免使用 XML 配置。

8.Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的或介绍一下 @SpringBootApplication 注解

@SpringBootApplication:包含了三个注解。
①SpringBootConfiguration: 实现了@Configuration注解,实现配置文件的功能。
②@EnableAutoConfiguration: 打开自动配置的功能,也可以关闭某个自动配置的选项, 例
如: java 如关闭数据源自动配置功能: @SpringBootApplication(exclude = DataSourceAutoConfiguration.class )。
③@ComponentScan: Spring组件扫描。

9.springBoot的启动器starter

可以通过启动器去集成其他技术:web、redis、maybatis等。
在pom配置 spring-boot-starter-web,就可以进行web开发。

原理:会加载这些配置类,放进spring容器中,就可以从容器中获取这些类。

10.springBoot项目的启动方法

打包
maven插件运行
main启动

11.如何在 Spring Boot 启动的时候运行一些特定的代码?

可以实现接口 ApplicationRunner或者 CommandLineRunner,这两个接口实现方式一样(项目启动完成后执行) ,它们
都只提供了一个 run 方法,在run方法写你的业务逻辑。

12.springBoot的全局异常处理

@ControllerAdvice:开启了全局异常的捕获。然后自定义一个方法使用@ExceptionHandler注解然后定义捕获异常的类型即可对这些捕获的异常进行统一的处理。

@ControllerAdvice
public class ExceptionUtil

    @ExceptionHandler(value =Exception.class)
    @ResponseBody
    public String exceptionHandler(Exception e)
        System.out.println("全局异常捕获:"+e);
        return "全局异常捕获,错误原因:"+e.getMessage();
    

13.spring Boot常用注解

@SpringBootApplication: SpringBootConfiguration配置类、componentScan扫描包、EnableAutoConfiguration导入其他配置类
@RestController: @ResponseBody和@Controller的作用。
@Component,@Service,@Controller,@Repository: 将类注入容器。
@GetMapping、@PostMapping、@PutMapping、@DeleteMapping: 映射请求,只能接收的对应的请求。
@AutoWired: 按照类型匹配注入。
@Qualifier: 和AutoWired联合使用,在按照类型匹配的基础上,在按照名称匹配。
@Resource: 按照名称匹配依赖注入。
@Bean: 用于将方法返回值对象放入容器。
@RequestParam: 获取查询参数。即url?name=这种形式
@RequestBody: 该注解用于获取请求体数据(body),get没有请求体,故而一般用于post请求。@PathVariable: 获取路径参数。即url/id这种形式。
@Value: 将外部的值动态注入到 Bean 中。
    @Value(“$”):可以获取配置文件的值。
    @Value(“#”):表示SpEl(Spring Expression Language是Spring表达式语言,可以在运行时查询和操作数据。)表达式通常用来获取 bean 的属性,或者调用 bean 的某个方法。

常见面试题总结(代码片段)

微服务1.Springboot加载配置文件顺序?2.SpringBoot启动时都做了那些事3.Mybatis的sql执行过程4.SpringMVC的执行流程5.Spring容器启动的执行过程6.SpringIOC的过程7.微服务整体架构图8.如何拆分微服务​DDD领域驱动9.几个注册中心的比较... 查看详情

springcloud常见面试题(2020最新版)(代码片段)

为什么需要学习SpringCloud不论是商业应用还是用户应用,在业务初期都很简单,我们通常会把它实现为单体结构的应用。但是,随着业务逐渐发展,产品思想会变得越来越复杂,单体结构的应用也会越来越复杂。这就会给应用带... 查看详情

2020最新java常见面试题及答案

...贝、JavaWeb模块、异常、网络、设计模式、Spring/SpringMVC、SpringBoot/SpringCloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql、Redis、JVM。如下图所示:可能对于初学者不需要后面的框架和JVM模块的知识,读者朋友们可根据自... 查看详情

关于springboot常见面试题整理笔记

参考技术A[if!supportLists]1、[endif]什么是springboot,它主要有哪些优点Springboot是spring的子项目,称为一站式解决方案,集成了外部很多的优秀的框架,如常用的mysql、jdbc。主要优点:通过maven导入各种jar包,可以减少jar包的冲突;屏... 查看详情

关于springboot常见面试题整理笔记

关于springboot常见面试题整理笔记1、什么是springboot,它主要有哪些优点Springboot是spring的子项目,称为一站式解决方案,集成了外部很多的优秀的框架,如常用的mysql、jdbc。主要优点:通过maven导入各种jar包ÿ... 查看详情

mysql常见面试题/知识点总结!(2021最新版)|javaguide(代码片段)

相关阅读:2.7w字!Java基础面试题/知识点总结!(2021最新版)这篇文章之前发过,不过,我最近对其进行了重构完善并且修复了很多小问题。所以,在公号再同步一下!内容很硬!强烈建议小伙伴们花10分钟左右阅读一遍!MySQL... 查看详情

java核心面试宝典day11“异常处理”最新常见面试题,欢迎补充!(代码片段)

Hello,你好呀,我是灰小猿!一个超会写bug的程序猿!用坚持缔造技术、用指尖敲动未来!和很多小伙伴们一样,我也是一名奔波在Java道路上的“创造者”。也想靠技术来改未来,改变世界!因为... 查看详情

java核心面试宝典day11“异常处理”最新常见面试题,欢迎补充!(代码片段)

Hello,你好呀,我是灰小猿!一个超会写bug的程序猿!用坚持缔造技术、用指尖敲动未来!和很多小伙伴们一样,我也是一名奔波在Java道路上的“创造者”。也想靠技术来改未来,改变世界!因为... 查看详情

数据库常见面试题总结

参考如下:数据库常见面试题(开发者篇)数据库优化SQL数据库面试题及答案常见面试题整理--数据库篇 查看详情

聊聊几个springcloud常见面试题及答案

...?微服务之间如何独立通讯的?SpringCloud和Dubbo有哪些区别?SpringBoot和SpringCloud之间关系?什么是熔断?什么是服务降级?微服务的优缺点是什么?说下你在项目中碰到的坑。eureka和zookeeper都可以提供服务注册与发现的功能,请说说... 查看详情

面试题redis篇-常见面试题p1(代码片段)

【面试题】Redis篇-常见面试题p1备战实习,会定期的总结常考的面试题,大家一起加油!🎯🎯🎯往期文章:【面试题】计算机网络篇-10道常见面试题p1【面试题】JVM篇-10道常见面试题p1【面试题】Java并... 查看详情

面试题redis篇-常见面试题p1(代码片段)

【面试题】Redis篇-常见面试题p1备战实习,会定期的总结常考的面试题,大家一起加油!🎯🎯🎯往期文章:【面试题】计算机网络篇-10道常见面试题p1【面试题】JVM篇-10道常见面试题p1【面试题】Java并... 查看详情

mybatis常见面试题汇总

Mybatis常见面试题汇总  最近在复习整理Mybatis的相关知识,针对面试中的典型问题,结合相关书籍和网上相关帖子,做如下整理。=================================================================1、#和$的区别是什么?答:$是Properties文件中的... 查看详情

mysql常见面试题(代码片段)

测试数据:/*NavicatPremiumDataTransferSourceServer:localhostSourceServerType:MySQLSourceServerVersion:50624SourceHost:localhostSourceDatabase:sqlexamTargetServerType:MySQLTargetServerVersion:50624FileEncod 查看详情

redis集群的常见面试题

                redis集群的常见面试题 1) 简单说一下你对分布式理解?答:一个业务分拆多个子业务,部署在不同的服务器上实现相同的业务就是分布式若是一个字节业务点垮了 那么整个项目将无... 查看详情

2022最新整理软件测试常见面试题附答案(代码片段)

包含的模块:本文分为十九个模块,分别是:软件测试基础、liunx、MySQL、web测试、接口测试、APP测试、管理工具、Python、性能测试、selenium、lordrunner、计算机网络、组成原理、数据结构与算法、逻辑题、人力资源需... 查看详情

面试题操作系统常见面试题合集(代码片段)

...601;往期文章:🥪【面试题】计算机网络篇-10道常见面试题p1🌮【面试题】JVM篇-10道常见面试题p1🌯【面试题】Java并发篇-10道常见面试题p1 查看详情

面经|redis常见面试题(代码片段)

Redis常见面试题目录结构:文章目录Redis常见面试题数据结构String哈希ListSetZset有序集合持久化机制RDB快照AOF混合使用Redis为什么要线执行命令,在把数据写入日志?缓存问题缓存击穿缓存穿透缓存雪崩数据一致性问题... 查看详情