SpringBoot面试深度解析:十大高频问题

需积分: 0 0 下载量 75 浏览量 更新于2024-08-03 收藏 27KB DOCX 举报
"这是一份关于SpringBoot面试题的文档,包含了30道相关问题,旨在帮助准备面试的人深入了解SpringBoot的工作原理和核心概念。" 1、SpringBootStarter的工作原理是什么? SpringBootStarter的工作原理是通过在启动时扫描`META-INF/spring.factories`文件来加载自动配置类。当SpringBoot应用启动时,它会查找所依赖的Starter模块中的该文件。`spring.factories`文件包含了一系列自动配置类的全限定名。接着,Spring会依据这些配置类进行自动配置,这些类通常带有`@Configuration`和`@Conditional`注解,`@Conditional`注解允许根据特定条件决定是否激活某个配置。一旦条件满足,相应的Bean就会被注册到SpringApplicationContext中,使得在应用程序运行时可以直接使用。 2、SpringBoot的核心配置文件有哪几个?它们的区别是什么? SpringBoot的核心配置文件有两个:`application.properties`(或`application.yml`)和`bootstrap.properties`(或`bootstrap.yml`)。`application.properties`主要用于项目的常规自动化配置,它加载的是应用程序自身和SpringBoot的配置信息。而`bootstrap.properties`则更加特殊,它在应用上下文初始化阶段就被加载,主要用于处理如连接SpringCloud Config服务器、加密/解密场景等早期初始化的配置,且其配置优先级高于`application.properties`,一旦设置,一般不可被覆盖。 3、Spring、SpringBoot、SpringMVC的区别? - Spring 是一个全面的Java企业级应用开发框架,提供了依赖注入(IOC)、面向切面编程(AOP)等基础功能,它是Spring生态系统的基石。 - SpringMVC 是Spring框架的一个模块,专门用于构建Web应用程序,它基于模型-视图-控制器(MVC)设计模式,简化了传统Servlet的开发流程。 - SpringBoot 是Spring框架的扩展,它的目标是简化Spring应用的初始搭建以及开发过程。SpringBoot默认配置了许多常见功能,如嵌入式Tomcat服务器、自动配置Spring组件、健康检查等,从而减少了大量配置代码,提高了开发效率。 4、SpringBoot的核心注解是哪个?它主要由哪几个注解组成的? SpringBoot的核心注解是`@SpringBootApplication`,这是一个组合注解,包含了`@Configuration`、`@EnableAutoConfiguration`和`@ComponentScan`三个主要注解。`@Configuration`将当前类标记为配置类,允许声明Bean。`@EnableAutoConfiguration`启用了SpringBoot的自动配置机制,根据项目中的依赖自动配置Bean。`@ComponentScan`则用于扫描指定包及其子包下的@Component、@Service、@Repository和@Controller等组件,将它们注册到Spring容器中。通过这三个注解的组合,SpringBoot应用可以快速地初始化并运行。