<返回更多

Java面试题之SpringBoot 框架

2023-09-28    尚硅谷教育
加入收藏

谈谈怎么理解 SpringBoot 框架

 

Spring Boot 是 Spring 开源组织下的子项目, 是 Spring 组件一站式解决方案, 主要是 简化了使用 Spring 的难度, 简省了繁重的配置, 提供了各种启动器, 开发者能快速上手 。

Java面试题之SpringBoot 框架

Spring Boot 的优点

● 独立运行

Spring Boot 而且内嵌了各种 servlet 容器, Tomcat 、Jetty 等, 现在不再需要打成 war 包部署到容器中, Spring Boot 只要打成一个可执行的 jar 包就能独立运行, 所有的依 赖包都在一个 jar 包内。

● 简化配置

spring-boot-starter-web 启动器自动依赖其他组件, 简少了 maven 的配置 。除此之 外, 还提供了各种启动器, 开发者能快速上手。

● 自动配置

Spring Boot 能根据当前类路径下的类 、jar 包来自动配置 bean, 如添加一个 spring- boot-starter-web 启动器就能拥有 web 的功能, 无需其他配置 。

● 无代码生成和 XML 配置

Spring Boot 配置过程中无代码生成, 也无需 XML 配置文件就能完成所有配置工作, 这一切都是借助于条件注解完成的, 这也是 Spring4.x 的核心功能之一 。

● 应用监控

Spring Boot 提供一系列端点可以监控服务及应用, 做健康检测 。

Java面试题之SpringBoot 框架

Spring Boot 缺点:

Spring Boot 虽然上手很容易, 但如果你不了解其核心技术及流程, 所以一旦遇到问题 就很棘手, 而且现在的解决方案也不是很多, 需要一个完善的过程。

Spring Boot 的核心注解是哪个 它主要由哪几个注解组成的

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

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

● @EnableAutoConfiguration: 打开自动配置的功能, 也可以关闭某个自动配置 的选项,

● 如关闭数据源自动配置功能: @SpringBootApplication(exclude =

{ DataSourceAutoConfiguration.class })。

● @ComponentScan: Spring 组件扫描 。

Spring Boot 自动配置原理是什么

注解 @EnableAutoConfiguration, @Configuration, @ConditionalOnClass 就是自动配置的核心。

首先它得是一个配置文件, 其次根据类路径下是否有这个类去自动配置 。

@EnableAutoConfiguration 是实现自动配置的注解;

@Configuration 表示这是一个配置文件;

SpringBoot 配置文件有哪些 怎么实现多环境配置

Spring Boot 的核心配置文件是 application 和 bootstrap 配置文件 。 application 配置文件这个容易理解, 主要用于 Spring Boot 项目的自动化配置。

bootstrap 配置文件的特性:

● bootstrap 由父 ApplicationContext 加载, 比 applicaton 优先加载

● bootstrap 里面的属性不能被覆盖

bootstrap 配置文件有以下几个应用场景:

● 使用 Spring Cloud Config 配置中心时, 这时需要在 bootstrap 配置文件中添加 连接到配置中心的配置属性来加载外部配置中心的配置信息;

● 一些固定的不能被覆盖的属性;

● 一些加密/解密的场景;

提供多套配置文件, 如:

applcation.properties

application-dev.properties

application-test.properties

application-prod.properties

运行时指定具体的配置文件 。

SpringBoot 和 SpringCloud 是什么关系

Spring Boot 是 Spring 的一套快速配置脚手架, 可以基于 Spring Boot 快速开发单个 微服务, Spring Cloud 是一个基于 Spring Boot 实现的开发工具; Spring Boot 专注于 快速 、方便集成的单个微服务个体, Spring Cloud 关注全局的服务治理框架; Spring Boot 使用了默认大于配置的理念, 很多集成方案已经帮你选择好了, 能不配置就不配 置, Spring Cloud 很大的一部分是基于 Spring Boot 来实现, 必须基于 Spring Boot 开 发 。

可以单独使用 Spring Boot 开发项目, 但是 Spring Cloud 离不开 Spring Boot。

关键词:SpringBoot      点击(3)
声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多SpringBoot相关>>>