当涉及到Spring Boot的面试时,面试题通常涉及到Spring Boot的基本概念、自动配置、启动流程、常用注解等。
基本概念
-
什么是Spring Boot?
- 答案:
- Spring Boot是基于Spring框架的扩展,旨在简化Spring应用程序的开发和部署。它提供了自动配置、内嵌服务器、约定大于配置等特性。
- 答案:
-
Spring Boot的优势是什么?
- 答案:
- Spring Boot的优势包括快速开发、简化配置、内嵌服务器(如Tomcat、Jetty)、自动化配置、强大的开发工具支持、可插拔的Starter等。
- 答案:
-
如何在Spring Boot中配置数据源?
- 答案:
- 在
application.properties
或application.yml
中配置数据源的相关属性,如spring.datasource.url
、spring.datasource.username
、spring.datasource.password
。
- 在
- 答案:
自动配置
-
Spring Boot的自动配置是如何工作的?
- 答案:
- Spring Boot根据应用程序的依赖关系自动配置应用程序,它会尝试根据classpath上的依赖和已有的配置来推断应用程序的合适配置。
- 答案:
-
如何禁用Spring Boot的特定自动配置?
- 答案:
- 可以使用
@EnableAutoConfiguration
注解的exclude
属性,也可以在application.properties
或application.yml
中使用spring.autoconfigure.exclude
属性。
- 可以使用
- 答案:
启动流程
-
Spring Boot的启动流程是什么?
- 答案:
- Spring Boot的启动流程包括加载应用程序的配置、创建Spring上下文、扫描和加载Bean、运行应用程序。最终,Spring Boot启动内嵌的Web服务器。
- 答案:
-
如何在Spring Boot中实现热部署?
- 答案:
- 可以在
pom.xml
中添加spring-boot-devtools
依赖,并在IDE中启用自动构建。Spring Boot DevTools会在类路径变化时自动重启应用。
- 可以在
- 答案:
常用注解
-
Spring Boot中常用的注解有哪些?
- 答案:
- 常用的注解包括
@SpringBootApplication
(标识主类)、@RestController
(标识REST控制器)、@RequestMapping
(映射请求路径)、@Autowired
(自动装配)、@Value
(属性注入)等。
- 常用的注解包括
- 答案:
-
如何在Spring Boot中配置日志?
- 答案:
- 可以在
application.properties
或application.yml
中配置日志属性,如logging.level.root
、logging.file
等。也可以使用logback.xml
或log4j2.xml
进行更复杂的配置。
- 可以在
- 答案:
Spring Boot特性
-
Spring Boot的Profile是什么?如何使用?
- 答案:
- Profile是一种配置环境的方式,可以通过
application-{profile}.properties
或application-{profile}.yml
文件来定义。可以使用spring.profiles.active
属性激活指定的Profile。
- Profile是一种配置环境的方式,可以通过
- 答案:
-
Spring Boot的Actuator是什么?有哪些常用的端点(Endpoint)?
- 答案:
- Actuator是Spring Boot的一个功能模块,提供了监控和管理应用程序的端点。常用的端点包括
/health
、/info
、/metrics
、/env
等。
- Actuator是Spring Boot的一个功能模块,提供了监控和管理应用程序的端点。常用的端点包括
- 答案:
这些问题涵盖了Spring Boot的基本概念、自动配置、启动流程、常用注解和一些特性。