SpringBoot面试精讲:核心配置与自动装配原理

需积分: 0 0 下载量 106 浏览量 更新于2024-08-03 收藏 27KB DOCX 举报
"springboot 30道面试题文档包含了SpringBoot核心概念和技术的常见面试问题,旨在帮助求职者准备SpringBoot相关的面试。 1. SpringBootStarter的工作原理是什么? SpringBootStarter的工作原理涉及三个主要步骤: - 当SpringBoot应用启动时,它会查找所有依赖的Starter包中的`resources/META-INF/spring.factories`文件。 - 这些文件包含了AutoConfigure类的列表,这些类会被加载到应用程序中。 - 使用`@Conditional`注解,SpringBoot根据特定条件自动配置这些类,并将相应的Bean注入到SpringApplicationContext中。这样,启动完成后,所有必要的资源都已经准备就绪,可以直接在应用中使用。 2. SpringBoot的核心配置文件有哪几个?它们的区别是什么? SpringBoot有两个主要的配置文件: - `application.properties`(或`application.yml`):这是SpringBoot的主要配置文件,用于项目的自动化配置,包括数据库连接、服务器端口等常规设置。 - `bootstrap.properties`(或`bootstrap.yml`):此配置文件适用于更早期的应用程序初始化,如连接到配置中心加载外部配置、处理不可变的属性或者加密/解密场景。通常,它的优先级高于`application.properties`,并且在SpringApplicationContext创建之前就已经加载。 3. Spring、SpringBoot、SpringMVC的区别? - Spring是一个全面的框架,提供了IoC(Inversion of Control,控制反转)和AOP(Aspect-Oriented Programming,面向切面编程)等基础服务,是其他Spring模块如SpringBoot、SpringMVC等的基础。 - SpringMVC是Spring框架的一部分,是一个基于Servlet的MVC(Model-View-Controller)框架,专门用于构建Web应用程序,简化了处理HTTP请求和响应的过程。 - SpringBoot是为了简化Spring应用的初始搭建以及开发过程而设计的,它默认配置了许多常见的设置,减少了需要编写大量配置代码的需求。 4. SpringBoot的核心注解是哪个?它主要由哪几个注解组成的? SpringBoot的核心注解是`@SpringBootApplication`。这个注解实际上是一个组合注解,包含以下三个主要部分: - `@Configuration`:表明该类作为Spring的配置类,可以包含@Bean定义。 - `@EnableAutoConfiguration`:开启自动配置,SpringBoot会根据项目依赖自动配置相应的Bean。 - `@ComponentScan`:扫描指定包下的@Component、@Service、@Repository和@Controller等注解的类,将它们注册为Spring的Bean。 以上只是SpringBoot面试题中的一部分,文档中可能还涵盖了更多关于SpringBoot的高级特性、安全、数据访问、缓存、微服务等相关问题,有助于全面了解和掌握SpringBoot的使用和最佳实践。"