0


Springboot的常见面试题

目录

前言

主要总结springboot中常见的面试题
关于其他框架的面试题,可看我该专栏下的其他模块

1. springboot比spring好在哪

  • springboot简化Spring,使用properties和yml来替代xml文件,抛弃了冗余的xml文件
  • 嵌入了http服务器以及多种插件
  • 简化配置(spring-boot-starter-web 启动器自动依赖其他组件,简少了 maven 的配置)
  • 自动配置
  • 应用监控
  • 无需部署war文件

对比spring家族系列
Spring和Spring MVC要配置大量的参数
SpringBoot通过一个自动配置和启动的项就可解决

2. 配置文件有哪几种格式

yml和properties文件

举个列子:

  • .properties
user.name = 码农研究僧
  • .yml(.yml 格式不支持 @PropertySource 注解导入配置)
user:name : 码农研究僧

3. 核心注解有哪几个

  • @SpringBootConfiguration(组合@Configuration注解,实现配置文件的功能)

在上面这个注解中有以下这个注解

  • @EnableAutoConfiguration(自动装配)
  • @ComponentScan(Spring组件扫描)

4. 启动时候的自动装配

说到springboot,其实最重要的原理有一个是自动装配
而且在面试中也是经常面试到的一个高频问题

自动装配:自动把第三方的组件自动装载到ioc容器中,不需要开发人员再去写bean相关的一个配置。在springboot的启动类上,只需要在启动类上加上@SpringbootApplication注解就可以实现主动装配,本身是一个复合注解,真正实现自动装配的注解@EnableAutoConfiguration。自动装配主要依靠三个核心的关键技术。

  • 引入starter,启动依赖主键(主键包含一个@Configuration配置类(在这个配置类中,需要通过bean去声明需要装载到ioc容器里面的bean对象))
  • 配置类是放在第三方的jar包里,通过springboot的约定优于配置的这个理念,将配置类的全路径放在了classpath中(springboot就可知道其位置)。上面的知识其实是spring中的springFactoriesLoader来完成
  • 有了配置类的jar包后,再通过spring提供的ImportSelector接口来实现对这些配置类的动态加载,从而完成自动装配

5. 监听器是什么

actuator

监控当前的一个状态,通过HTTPURL访问的REST端点来检查状态

6. 可以使用xml文件配置么

默认是支持java配置
如果非要使用xml文件,可以通过

@ImportResource 注解

7. 解决跨域问题

关于什么是跨域
可以通过该链接进行了解:
什么是跨域?跨域解决方法

跨域问题可以通过CORS进行解决
实现

WebMvcConfigurer

接口然后重写

addCorsMappings

方法解决跨域问题

本身一个http请求服务中,流程是过滤器,拦截器
可以将其跨域的相关代码放置在过滤器中

8. 如何维护接口服务

本身springboot是微服务架构
前后端分离的时候如何维护其接口更改

可以通过使用swagger生成接口文档网址,即使有更改,可以获取最新的接口

本身swagger是可视化的ui,通常用于生成RESTful Web服务的可视化表示的工具

9. 如何实现分页

像mybatis使用的是pagehelper的插件

而springboot可以使用

Spring Data-JPA

调用这个类的方法 org.springframework.data.domain.Pageable传递给存储库

10. 如何实现session共享

微服务框架架构之间的session被分割开了

可以将其session保存在redis中,当有微服务对其读取的时候,可以操作redis的session就可实现session共享
本身SpringSession基于Spring 中的代理过滤器实现,操作还是比较方便的

标签: springboot spring java

本文转载自: https://blog.csdn.net/weixin_47872288/article/details/123747356
版权归原作者 码农研究僧 所有, 如有侵权,请联系我们删除。

“Springboot的常见面试题”的评论:

还没有评论