Spring Boot 是 Spring 框架的一个子项目,旨在简化新 Spring 应用的初始搭建以及开发过程。它通过约定优于配置的原则,极大地减少了开发人员的工作量。以下是一些在面试中常见的 Spring Boot 热点问题。
spring-boot-starter 依赖简化了 Maven/Gradle 配置。典型的 Spring Boot 项目结构如下:
my-project
├── src
│ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ └── example
│ │ │ └── myproject
│ │ │ ├── MyProjectApplication.java
│ │ │ ├── controller
│ │ │ ├── service
│ │ │ └── repository
│ │ └── resources
│ │ ├── application.properties
│ │ └── static
│ │ └── templates
│ └── test
│ └── java
│ └── com
│ └── example
│ └── myproject
│ └── MyProjectApplicationTests.java
└── pom.xml
MyProjectApplication.java: 主启动类,包含 main 方法。controller: 存放控制器类,处理 HTTP 请求。service: 存放服务类,包含业务逻辑。repository: 存放数据访问层类。application.properties: 应用配置文件。@EnableAutoConfiguration 通过 SpringFactoriesLoader 机制加载 META-INF/spring.factories 文件中定义的自动配置类。@Configuration 注解的类。@ConditionalOnClass、@ConditionalOnMissingBean 等注解控制配置的生效条件。META-INF/spring.factories 文件中注册自定义配置类。掌握 Spring Boot 的基本原理和项目结构,可以帮助你在面试中展示出对该框架的基础理解。通过实践自动配置和自定义配置,你将能够更加熟练地使用 Spring Boot 构建高效、可靠的应用程序。