2021最新Springboot面试题含答案[通俗易懂]

2021最新Springboot面试题含答案[通俗易懂]1.开启SpringBoot特性有哪几种方式?1)继承spring-boot-starter-parent项目2)导入spring-boot-dependencies项目依赖2.SpringBoot需要独立的容器运行吗?可以不需要,内置了Tomcat/Jetty等容器。3.运行SpringBoot有哪几种方式?1)打包用命令或者放到容器中运行2)用Maven/Gradle插件运行3)直接执行main方法运行4.SpringBoot自动配置原理是什么?

大家好,又见面了,我是你们的朋友全栈君。

1.开启 Spring Boot 特性有哪几种方式?

1)继承spring-boot-starter-parent项目

2)导入spring-boot-dependencies项目依赖

2.Spring Boot 需要独立的容器运行吗?

可以不需要,内置了 Tomcat/ Jetty 等容器。

3.运行 Spring Boot 有哪几种方式?

1)打包用命令或者放到容器中运行

2)用 Maven/ Gradle 插件运行

3)直接执行 main 方法运行

4. Spring Boot 自动配置原理是什么?

注解 @EnableAutoConfiguration, @Configuration, @ConditionalOnClass 就是自动配置的核心,首先它得是一个配置文件,其次根据类路径下是否有这个类去自动配置。

5. Spring Boot 的目录结构是怎样的?

cn
± javastack
± MyApplication.java
|
± customer
| ± Customer.java
| ± CustomerController.java
| ± CustomerService.java
| ± CustomerRepository.java
|
± order
± Order.java
± OrderController.java
± OrderService.java
± OrderRepository.java

这个目录结构是主流及推荐的做法,而在主入口类上加上 @SpringBootApplication 注解来开启 Spring Boot 的各项能力,如自动配置、组件扫描等。

6. 你如何理解 Spring Boot 中的 Starters?

Starters可以理解为启动器,它包含了一系列可以集成到应用里面的依赖包,你可以一站式集成 Spring 及其他技术,而不需要到处找示例代码和依赖包。如你想使用 Spring JPA 访问数据库,只要加入 spring-boot-starter-data-jpa 启动器依赖就能使用了。

Starters包含了许多项目中需要用到的依赖,它们能快速持续的运行,都是一系列得到支持的管理传递性依赖。

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

可以实现接口 ApplicationRunner 或者 CommandLineRunner,这两个接口实现方式一样,它们都只提供了一个 run 方法。

8. Spring Boot 有哪几种读取配置的方式?

Spring Boot 可以通过 @PropertySource,@Value,@Environment, @ConfigurationProperties 来绑定变量

9. Spring Boot 支持哪些日志框架?推荐和默认的日志框架是哪个?

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

10.SpringBoot 实现热部署有哪几种方式?

主要有两种方式:

· Spring Loaded

· Spring-boot-devtools

Spring-boot-devtools

11.你如何理解 Spring Boot 配置加载顺序?

在 Spring Boot 里面,可以使用以下几种方式来加载配置。

1)properties文件;

2)YAML文件;

3)系统环境变量;

4)命令行参数;

等等……

12. Spring Boot 如何定义多套不同环境配置?

提供多套配置文件,如:

applcation.properties

application-dev.properties

application-test.properties

application-prod.properties

13. Spring Boot 可以兼容老 Spring 项目吗,如何做?

可以兼容,使用 @ImportResource 注解导入老 Spring 项目配置文件。

14. 保护 Spring Boot 应用有哪些方法?

· 在生产中使用HTTPS

· 使用Snyk检查你的依赖关系

· 升级到最新版本

· 启用CSRF保护

· 使用内容安全策略防止XSS攻击

· …

15. Spring Boot 2.X 有什么新特性?与 1.X 有什么区别?

· 配置变更

· JDK 版本升级

· 第三方类库升级

· 响应式 Spring 编程支持

· HTTP/2 支持

· 配置属性绑定

· 更多改进与加强…

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/146092.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月15日 下午8:40
下一篇 2022年5月15日 下午9:00


相关推荐

  • 什么是AV接口_A∨插口的作用

    什么是AV接口_A∨插口的作用Audio&Video音频&视频:音频(Audio)这个专业术语,人类能够听到的所有声音都称之为音频,它可能包括噪音、声音被录制下来以后,无论是说话声、歌声、乐器都可以通过数字音乐软件处理。视频(Video)泛指将一系列静态影像以电信号方式加以捕捉,纪录,处理,储存,传送,与重现的各种技术。连续的图像变化每秒超过24帧(frame)画面以上时,根据视觉暂留原理,人眼无法辨别单幅的静态画面;看上去是平滑连续的视觉效果,这样连续的画面叫做视频。由于AV算是出现比较早的一种接口,它由黄.

    2026年2月13日
    6
  • java 忽略微信表情,java过滤微信表情符号

    java 忽略微信表情,java过滤微信表情符号java 过滤微信表情符号 微信公众平台图文标题怎么加特殊符号表情 缺失 java 过滤微信表情符号 49915 11 以下是的一些我们精选的微信公众平台图文标题怎么加特殊符号表情 有木有看到很多公众号里面有插入表情 标题里也有 你知道是怎么弄的吗 不会的朋友也不用担心 下面小编就为大家介绍微信公众平台图文标题怎么加特殊符号表情方法 现在很多的微信公众号图文里都有一个特殊符号 比如秘 看上去特别又醒目

    2026年3月19日
    2
  • SQL注入攻击常见方式及测试方法

    SQL注入攻击常见方式及测试方法本文主要针对 SQL 注入的含义 以及如何进行 SQL 注入和如何预防 SQL 注入让小伙伴有个了解 适用的人群主要是测试人员 了解如何进行 SQL 注入 可以帮助我们测试登录 发布等模块的 SQL 攻击漏洞 至于如何预防 SQL 注入 按理说应该是开发该了解的事情 但是作为一个棒棒的测试 搞清楚原理是不是能让我们更加透彻地理解 bug 的产生原因呢 好啦 话不多说 进入正题 如何理解 SQL 注入 攻击 SQL 注入是

    2026年3月20日
    1
  • ScheduledExecutorService 使用

    ScheduledExecutorService 使用ScheduledExecutorService,我平时没有用过,他的最大优点除了线程池的特性以外,可以实现循环或延迟任务。ScheduledExecutorService,是基于线程池设计的定时任务类,每个调度任务都会分配到线程池中的一个线程去执行,也就是说,任务是并发执行,互不影响。需要注意,只有当调度任务来的时候,ScheduledExecutorService才会真正启动一个线程,其余时间ScheduledExecutorService都是出于轮询任务的状态。先来个简单的延迟任务调…

    2022年6月2日
    38
  • Linux中chmod用法[通俗易懂]

    Linux中chmod用法[通俗易懂]Linux中chmod用法

    2022年10月20日
    4
  • Android Application 多继承

    Android Application 多继承AndroidAppli 多继承首先 附上 Demo 链接 https github com EshelGuo AppMultipleE tree master 众所周知 Java 里的继承都是单继承 而我们今天的话题是通过反射实现 Application 多继承 那么为什么非要 Application 多继承呢 想必大家在做项目的时候肯定集成很多 SDK 吧 也应该遇见过一部分 S

    2026年3月16日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号