SpringBoot面试精讲:核心配置、自动配置与核心注解解析

需积分: 0 0 下载量 91 浏览量 更新于2024-08-03 收藏 27KB DOCX 举报
"这是一份关于SpringBoot面试题的文档,包含了30个问题,旨在帮助求职者准备SpringBoot相关的面试。文档提到了SpringBootStarter的工作原理、核心配置文件以及Spring、SpringBoot和SpringMVC之间的区别等关键知识点。" 1、SpringBootStarter的工作原理是什么? SpringBootStarter的工作原理涉及几个关键步骤: - 启动时,SpringBoot会查找依赖的Starter包中的`resources/META-INF/spring.factories`文件。 - 通过读取该文件,SpringBoot识别出所依赖的Jar包,并扫描其中的配置信息。 - 根据`spring.factories`配置,加载相应的AutoConfigure类。 - 利用`@Conditional`注解,SpringBoot进行条件判断,执行自动配置,并将Bean注入到Spring应用上下文(SpringContext)中。 - 这个过程使得SpringBoot在启动后即完成了资源的初始化和配置,方便后续直接使用所需的Bean。 2、SpringBoot的核心配置文件有哪几个?它们的区别是什么? SpringBoot有两个核心配置文件: - `application.properties`(或`application.yml`):这是SpringBoot项目的默认配置文件,主要用于项目的自动化配置。开发者可以在这里定义各种应用程序的属性,如服务器端口、数据库连接信息等。 - `bootstrap.properties`(或`bootstrap.yml`):此配置文件具有更高的优先级,适用于在应用程序启动前进行一些预配置,如连接SpringCloudConfig配置中心、加载外部配置、处理加密解密场景等。它的配置通常不会被应用内的配置覆盖。 3、Spring、SpringBoot、SpringMVC的区别? - Spring框架是基础,提供了IoC(控制反转)容器和AOP(面向切面编程)等功能,是其他Spring家族产品(如SpringBoot、SpringMVC)的基础。 - SpringMVC是Spring框架的一部分,是一个基于Servlet的MVC(Model-View-Controller)框架,专门用于Web开发,简化了处理HTTP请求和响应的过程。 - SpringBoot是为了解决Spring项目配置复杂性而创建的,它提倡“约定优于配置”,提供了一种快速构建和运行Spring应用程序的方式。SpringBoot默认配置了很多常见的功能,减少了手动配置的需求。 4、SpringBoot的核心注解是哪个?它主要由哪几个注解组成的? SpringBoot的核心注解是`@SpringBootApplication`,它实际上是一个组合注解,包含了以下三个主要注解: - `@SpringBootConfiguration`:表示这是一个配置类,允许SpringBoot进行配置处理。 - `@EnableAutoConfiguration`:开启了自动配置功能,SpringBoot会根据项目依赖自动配置相关Bean。 - `@ComponentScan`:用于扫描指定包下的@Component、@Service、@Repository和@Controller等组件,将它们注册到Spring容器中。