栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringBoot基础面试题

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringBoot基础面试题

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

目录

前言

一、什么是SpringBoot

二、SpringBoot的优点

三、SpringBoot的核心注解是什么? 他是由几个注解组成的?

四、什么是JavaConfig?

五、SpringBoot自动配置原理是什么?

六、你是如何理解SpringBoot配置加载顺序?

七、什么是yaml?

八、yaml配置的优势在哪里?

九、SpringBoot是否可以使用XML文件?

spring boot 核心配置文件是什么?

bootstrap.properties 和 application.properties 有何区别 ?

十、如何在自定义端口上运行SpringBoot应用程序?



前言

学习SpringBoot


提示:以下是本篇文章正文内容

一、什么是SpringBoot

SpringBoot是Spring下面的子项目,是Spring组件一站式解决方案 主要就是简化了spring的难度

减少了繁琐的配置 提供了各种启动器 是开发者快速上手

二、SpringBoot的优点

1.容易上手 提升了开发效率 为Spring开发提供了一个更快 跟广泛的入门体验

2.开箱即用 远离了繁琐的配置

3.提供了一系列提供了一系列大型项目通用的非业务性功能,例如:内嵌服务器、安全管理、运行数据监控、运行 状况检查和外部化配置等

4.没有代码生成,也不需要XML配置

5.避免大量的 Maven 导入和各种版本冲突

三、SpringBoot的核心注解是什么? 他是由几个注解组成的?

启动类上面的注解是:

@SpringBootApplication,它也是 Spring Boot 的核心注解,主要组合包含了以下 3 个注解:

@SpringBootConfiguration:组合了 @Configuration 注解,实现配置文件的功能。

@EnableAutoConfiguration:打开自动配置的功能,也可以关闭某个自动配置的选项,如关闭数据源 自动配置功能: @SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })

@ComponentScan:Spring组件扫描

四、什么是JavaConfig?

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

(1) 面向对象的配置。由于配置被定义为 JavaConfig 中的类,因此用户可以 充分利用 Java 中的面向对象功能。一个配置类可以继承另一个,重写它的 @Bean 方法等

(2) 减少或消除 XML 配置。基于依赖注入原则的外化配置的好处已被证明。 但是,许多开发人员不希望在 XML 和 Java 之间来回切换。JavaConfig 为开发人员提供了一种纯 Java 方 法来配置与 XML 配置概念相似的 Spring 容器。从 技术角度来讲,只使用 JavaConfig 配置类来配置容器是可行的,但实际上很多人认为将JavaConfig 与 XML 混合匹配是理想的

(3)类型安全和重构友好。JavaConfig 提供了一种类型安全的方法来配置 Spring容器。由于 Java 5.0 对泛型的支持,现在可以按类型而不是按名称检索 bean,不需要任何强制 转换或基于字符串的查找

五、SpringBoot自动配置原理是什么?

注解 @EnableAutoConfiguration, @Configuration, @ConditionalOnClass 就是自动配置的核心, @EnableAutoConfiguration 给容器导入META-INF/spring.factories 里定义的自动配置类。 筛选有效的自动配置类。 每一个自动配置类结合对应的 xxxProperties.java 读取配置文件进行自动配置功能

六、你是如何理解SpringBoot配置加载顺序?

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

1) properties文件;

2) YAML文件;

3) 系统环境变量; 等等

七、什么是yaml?

YAML 是一种人类可读的数据序列化语言。它通常用于配置文件。与属性文件相比,如果我们想要在配 置文件中添加复杂的属性,YAML 文件就更加结构化,而且更少混淆。可以看出 YAML 具有分层配置数 据

八、yaml配置的优势在哪里?

YAML 现在可以算是非常流行的一种配置文件格式了,无论是前端还是后端,都可以见到 YAML 配置。 那么 YAML 配置和传统的 properties 配置相比到底有哪些优势呢?

1. 配置有序,在一些特殊的场景下,配置有序很关键

2. 支持数组,数组中的元素可以是基本数据类型也可以是对象

3. 简洁 相比 properties 配置文件,YAML 还有一个缺点,就是不支持 @PropertySource 注解导入自定义的 YAML 配置

九、SpringBoot是否可以使用XML文件?

Spring Boot 推荐使用 Java 配置而非 XML 配置,但是 Spring Boot 中也可以使用 XML 配置,通过 @ImportResource 注解可以引入一个 XML 配置。

spring boot 核心配置文件是什么?

1)application.properties

2)application.yml

3)原理一样,格式不同,当两种格式的核心配置文件同时存在时,2.4.0以上的版本的SpringBoot优先使用以.yml为后缀的核心配置文件,2.4.0以下版本的SpringBoot优先使用.properties为后缀的核心配置文件

bootstrap.properties 和 application.properties 有何区别 ?

单纯做 Spring Boot 开发,可能不太容易遇到 bootstrap.properties 配置文 件,但是在结合 Spring Cloud 时,这个配置就会经常遇到了,特别是在需要加载一些远程配置文件的时侯。 spring boot 核心的两个配置文件: bootstrap (. yml 或者 . properties):boostrap 由父 ApplicationContext 加载的,比 applicaton 优先 加载,配置在应用程序上下文的引导阶段生效。一般来说我们在 Spring Cloud Config 或者 Nacos 中会 用到它。且 boostrap 里面的属性不 能被覆盖; application (. yml 或者 . properties): 由ApplicatonContext 加载,用于 spring boot 项目的自动化配置

十、如何在自定义端口上运行SpringBoot应用程序?

为了在自定义端口上运行 Spring Boot 应用程序,您可以在 application.properties 中指定端口。server.port = 8090

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/996095.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号