首页 > 其他分享 >springboot面试题——简化提纯版-备战春招,秋招

springboot面试题——简化提纯版-备战春招,秋招

时间:2024-08-26 18:55:54浏览次数:11  
标签:面试题 SpringBoot 主要 ResponseBody Controller 春招 注解 springboot

0、说一下springboot的优缺点

1)优点 快速构建项目。 对主流开发框架的无配置集成。 项目可独立运行,无须外部依赖Servlet容器。 提供运行时的应用监控。 极大地提高了开发、部署效率。 与云计算的天然集成。 2)缺点 版本迭代速度很快,一些模块改动很大。 由于不用自己做配置,报错时很难定位。 网上现成的解决方案比较少。

1、springboot的常用注解及作用

1:@SpringBootApplication: @SpringBootApplication是springboot中最核心的注解,写在启动类的上面。它是@Configuration、 @EnableAutoConfiguration和@ComponentScan的组合注解。@Configuration指示一个类声明一个或 者多个@Bean 声明的方法并且由Spring容器管理,@EnableAutoConfiguration将SpringBoot中所有符 合条件的@Configuration配置都加载到当前SpringBoot创建并使用的IoC容器,@ComponentScan扫描定 义路径下的bean。

2:@RestController: 主要作用于Controller的类上,它是@Controller和@ResponseBody的组合注解,主要用于返回json数 据。

3:@ResponseBody 主要作用于控制层的类上,主要用于返回json数据。 4:@Data2、说一下springboot中@Controller和 @RestController的区别 3、说一下springboot中@ResponseBody和 @RequestBody的区别

4、springboot中application.yml文件和bootstrap.yml 哪个执行的优先级高 主要作用于实体类上,编译后可以自动加上get、set、toString、equals方法等,减少我们实体类代码的 书写,增加可阅读性。

5:@Service 主要作用于业务层上面,就是通常说的service的类上。

6:@RequestMapping 主要作用于Controller类及方法上,主要作用是请求地址的映射,当然,其中还有method属性等,method 属性主要是请求类型,比如post、get等,value = RequestMethod.GET。

7:@Mapper 主要作用于DAO接口上,可以自动生成接口的实现类。

8:@MapperScan 主要作用于启动类上,用于生成DAO接口的实现类,如果DAO接口比较多,推荐使用@MapperScan注解,写法 如@MapperScan("com.example.demo.dao").

9:@Controller 主要作用于控制层类上,用于处理http请求等。

10:@PathVariable 主要是用于取url中的变量的值,比如 @RequestMapping("/student/{studentName}"),那么在对应 的方法入参中可以写成:(@PathVariable String studentName).

11:@RequestParam 将请求参数绑定到Controller的方法上面,@RequestParam(value=”参数名”)

2、说一下springboot中@Controller和 @RestController的区别

在springboot开发中控制层使用注解@Controller时,加有@GetMapping(@PostMapping或 @RequestMapping)注解的方法返回值对应的是一个视图,而使用@RestController返回值对应的是json 数据,而@Controller+@ResponseBody的作用相当于@RestController。

3、说一下springboot中@ResponseBody和 @RequestBody的区别

@RequestBody的作用是将前端传来的json格式的数据转为自己定义好的javabean对象 @ResponseBody的作用是将后端以return返回的javabean类型数据转为json类型数据。

4、springboot中application.yml文件和bootstrap.yml 哪个执行的优先级高

bootstrap 由spring父上下文加载,比application配置文件优先加载,而application配置文件由子 上下文加载 bootstrap加载的配置信息不能被application的相同配置覆盖

5、springboot的自动装配原理

    SpringBoot的自动装配原理:在SpringBoot项目中都会有一起启动类上贴有一个注解叫 @SpringBootApplication,这个注解是一个复合注解,里面有几个注解,其中来实现自动装配的有三个是 @ComponentScan,@SpringBootConfiguration和@EnableAutoConfiguration。

  其中@ComponentScan 主要让启动类赋予扫描功能,做到扫描包路径

  @SpringBootConfiguration继承自@Configuration,二者功能也一致,标注当前类是配置类。                    最后就是@EnableAutoConfiguration这也是自动装配的主要注解也是一个复合注解,主要有两 个注解,在@AutoConfigurationPackage注解中有一个注解@import注解中导入了一个类叫Registrar, 这个类主要用来手动注册bean,这个bean主要用来保存扫描路径到全局变量中主要提供给jpa框架去做查询。      

       还有就是真正的核心:在@import注解中导入一个类叫AutoConfigurationImportSelector这 个类中有一个方法叫selectImports会返回一个字符串数组,这些字符串都是类的全路径名,这些类的全路 径都会被Spring通过反射的方式放到 ioc 容器中交给Spring管理。      

        这些类的全路径名主要都是存放在META-INF/spring.factories中里面存放的数据都是以key, value的形式储存,其中只要找到一个key为EnableAutoContiguration下的value都是类的全路径。         在通过Spring提供的api SpringFactoriesLoader和loadFactoryNames等等配合@import 注解把字符串反射到 ioc 容器中,这些类中标记有Configuration和@Bean的都会加载到 spring.factories中完成自动装配

6、springboot和springcloud区别

1. SpringBoot专注于快速方便得开发单个个体微服务.

2. SpringCloud是关注全局的微服务协调整理治理框架,它将SpringBoot开发的一个个单体微服务整合并 管理起来,为各个微服务之间提供,配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞 选、分布式会话等等集成服务

3. SpringBoot可以离开SpringCloud独立使用开发项目,但是SpringCloud离不开SpringBoot,属于 依赖的关系.

4. SpringBoot专注于快速、方便得开发单个微服务个体,SpringCloud关注全局的服务治理框架。

标签:面试题,SpringBoot,主要,ResponseBody,Controller,春招,注解,springboot
From: https://blog.csdn.net/weixin_64942806/article/details/141569405

相关文章

  • 如何构建KPL比赛在线售票系统——Java SpringBoot与Vue的完美结合
    ......
  • react面试题八
    一、如何优化React应用的性能?优化React应用的性能是一个多方面的过程,涵盖了从代码优化到应用架构调整等多个方面。以下是一些关键策略和技术,可以帮助你提升React应用的性能:1.代码拆分和懒加载代码拆分:将代码分割成更小的块,然后只加载当前路由或页面需要的代码块。这可......
  • react面试题九
    一、ReactRouter是如何实现单页应用的路由管理的?ReactRouter实现单页应用(SPA)的路由管理主要通过以下方式:一、路由模式ReactRouter提供了多种路由模式来适应不同的开发需求,其中主要的两种模式是HashRouter和BrowserRouter。HashRouter:使用URL的哈希部分(即#......
  • 面试 | 30个热门PyTorch面试题助你轻松通过机器学习/深度学习面试
    前言PyTorch作为首选的深度学习框架的受欢迎程度正在持续攀升,在如今的AI顶会中,PyTorch的占比已高达80%以上!本文精心整理了关键的30个PyTorch相关面试问题,帮助你高效准备机器学习/深度学习相关岗位。基础篇问题1:什么是PyTorchPyTorch是一个开源机器学习库,用于......
  • 2024年秋季招聘:大型语言模型(LLM)相关面试题汇总
    0一些基础术语大模型:一般指1亿以上参数的模型,但是这个标准一直在升级,目前万亿参数以上的模型也有了。大语言模型(LargeLanguageModel,LLM)是针对语言的大模型。175B、60B、540B等:这些一般指参数的个数,B是Billion/十亿的意思,175B是1750亿参数,这是ChatGPT大约的参数规模。强......
  • springboot校园快递_物品代取APP-计算机毕业设计源码85594
    摘要本论文基于SpringBoot框架,设计并实现了一款校园快递/物品代取APP。该应用旨在为校园用户提供便捷、高效、可靠的快递配送服务和物品代取服务,解决校园内快递配送和物品代取过程中的问题和痛点。首先,通过对校园快递和物品代取流程的分析和需求调研,确定了系统的功能模块和......
  • springboot快递物流管理系统-计算机毕业设计源码85178
    目 录摘要1绪论1.1选题背景与意义1.2国内外研究现状1.3论文结构与章节安排2 快递物流管理系统分析2.1可行性分析2.1.1技术可行性分析2.1.2 经济可行性分析2.1.3操作可行性分析2.2系统流程分析2.2.1数据增加流程2.2.2数据修改流程2.2.3......
  • 免费分享一套Java协同过滤推荐算法的SpringBoot+Vue(图书)商城系统【论文+源码+SQL脚
    大家好,我是java1234_小锋老师,看到一个不错的Java协同过滤推荐算法的SpringBoot+Vue(图书)商城系统,分享下哈。项目视频演示【免费】Java协同过滤推荐算法的SpringBoot+Vue(图书)商城系统Java毕业设计_哔哩哔哩_bilibili项目介绍伴随着Internet的蓬勃发展,电子商务也取得了......
  • JAVA毕业设计|(免费)springboot基于JAVA的社团管理系统的包含文档代码讲解
    收藏点赞不迷路 关注作者有好处编号:springboot270springboot基于JAVA的社团管理系统的开发语言:Java数据库:MySQL技术:Spring+SpringMVC+MyBatis工具:IDEA/Ecilpse、Navicat、Maven1.系统展示2.万字文档展示第5章系统详细设计5.1学生信息管理如图5.1显示的就是学生......
  • 毕业设计|springboot基于JAVA的社团管理系统的|免费|代码讲解
    收藏点赞不迷路 关注作者有好处编号:springboot270springboot基于JAVA的社团管理系统的开发语言:Java数据库:MySQL技术:Spring+SpringMVC+MyBatis工具:IDEA/Ecilpse、Navicat、Maven1.系统展示2.万字文档展示第5章系统详细设计5.1学生信息管理如图5.1显示的就是学生......