Java面试题-Spring Boot

文章目录

1.Spring Boot三个核心注解?

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

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

@ComponentScan:Spring组件扫描。

2.如何自定义一个starter?

首先编写一个自动配置类,然后在spring.factories文件中配置使其生效,如果想要去读取配置文件就使用ConfigurationProperties指定前缀,然后在自动配置类中使用EnableConfigurationProperties启用配置类。

3.SpringBoot自动配置原理

SpringBoot的自动配置核心就是@EnableAutoConfiguration注解,这个注解有两个重要的东西:

一个是Registrar类,这个类就是为了获取到要扫描的包。

第二个就是AutoConfigurationImportSelector这个类,ImportSelector就是Spring中加载Bean的方式之一,他可以获取到加载了ImportSelector这个Bean的配置类的元数据,然后在SpringBoot中的作用其实就是加载了spring.factories这个文件,然后根据一些条件注解来完成注入容器的过程。

4.SpringBoot启动流程有了解过吗?

1.读取配置文件,初始化环境对象
2.创建 ApplicationContext 容器
3.注入容器(@ComponentScan@EnableAutoConfiguration
4.依赖注入
5.处理 Aware 接口
6.初始化阶段(执行 InitializingBean@PostConstruct

在前后分别有BeanPostProcessorBefore和BeanPostProcessorAfter

7.当然还有一些监听器可以对流程进行干预,直接看run方法的源码即可

5.CAP定理有了解过吗?Base理论呢?

C:一致性

A:可用性

P:分区容错性

Base理论:基本可用,允许出现软状态,保证最终一致性

相关推荐
weixin_4918533113 分钟前
SpringBoot 实现 RAS+AES 自动接口解密
java·spring boot·后端
水上冰石13 分钟前
【源力觉醒 创作者计划】文心一言与deepseek集成springboot开发哪个更方便
spring boot·后端·文心一言
程序员良辰2 小时前
Spring与SpringBoot:从手动挡到自动挡的Java开发进化论
java·spring boot·spring
lly2024062 小时前
HTML 表单
开发语言
鹦鹉0072 小时前
SpringAOP实现
java·服务器·前端·spring
练习时长两年半的程序员小胡3 小时前
JVM 性能调优实战:让系统性能 “飞” 起来的核心策略
java·jvm·性能调优·jvm调优
崎岖Qiu3 小时前
【JVM篇11】:分代回收与GC回收范围的分类详解
java·jvm·后端·面试
深海潜水员5 小时前
【Python】 切割图集的小脚本
开发语言·python
27669582925 小时前
东方航空 m端 wasm req res分析
java·python·node·wasm·东方航空·东航·东方航空m端
许苑向上5 小时前
Spring Boot 自动装配底层源码实现详解
java·spring boot·后端