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理论:基本可用,允许出现软状态,保证最终一致性

相关推荐
hshpy7 分钟前
To convert a JSONArray to a List<Map<String, String>> in Java
java·python·list
B站计算机毕业设计超人36 分钟前
计算机毕业设计SpringBoot校园二手交易小程序 校园二手交易平台(websocket消息推送+云存储+双端+数据统计)(源码+文档+运行视频+讲解视频)
java·spring boot·后端·tomcat·maven·课程设计·intellij idea
MoonBit月兔39 分钟前
双周报Vol.65:新增is表达式、字符串构造和数组模式匹配增强、IDE模式匹配补全增强...多项技术更新!
开发语言·ide·编程语言·moonbit
二闹40 分钟前
Java代理模式的面试题目及其答案
java·后端·面试
苹果酱05671 小时前
细读 React | React Router 路由切换原理
java·vue.js·spring boot·mysql·课程设计
qq_441685751 小时前
bash shell笔记——循环结构
开发语言·bash
青云交1 小时前
Java 大视界 -- 5G 与 Java 大数据融合的行业应用与发展趋势(82)
java·大数据·5g·工业制造·智能交通·技术融合·智能安防
KAI77381 小时前
2月11日QT
开发语言·qt
论迹1 小时前
【JavaEE】-- 多线程(初阶)1
java·开发语言·网络·java-ee
沈清韵1 小时前
Lisp语言的软件工程
开发语言·后端·golang