Spring Boot 中的约定优于配置体现在以下几个方面:
-
自动配置(Auto-Configuration):Spring Boot 根据约定和最佳实践,提供了大量的自动配置,使得开发者无需手动编写大量的配置代码。例如,当引入某个数据库依赖时,Spring Boot 可以自动配置数据源、事务管理器等相关组件,使得数据库操作可以立即使用。
-
Starter 依赖(Starter Dependencies):Spring Boot 提供了一系列的 Starter 依赖,这些 Starter 依赖是预定义的依赖集合,通过引入相应的 Starter 依赖,可以自动引入相关的库和默认配置。例如,通过引入
spring-boot-starter-web
Starter 依赖,就能够快速搭建一个基于 Spring MVC 的 Web 应用。 -
约定的目录结构:Spring Boot 定义了一套约定的目录结构,按照这个目录结构组织代码和资源文件,可以使得 Spring Boot 自动扫描并装配相应的组件。例如,放置在
src/main/java
目录下的类会被自动扫描并注册为 Bean,放置在src/main/resources
目录下的资源文件会被自动加载。 -
内置的默认配置:Spring Boot 内置了许多默认配置,以满足一般应用程序的需求。这些默认配置根据约定和最佳实践来定义,可以直接使用或通过简单的配置进行修改。例如,Spring Boot 默认使用嵌入式的 Tomcat 作为 Web 服务器,可以通过配置修改为其他容器。
-
配置属性的自动绑定:Spring Boot 可以根据约定和属性名称的映射,自动将配置文件中的属性值绑定到对应的对象上。开发者只需要在配置文件中提供相关的属性,Spring Boot 就能自动读取并绑定到相应的配置类中,减少了手动编写配置的工作量。
通过这些约定和自动化的特性,Spring Boot 提供了一种简化开发的方式,使得开发者可以更专注于业务逻辑的实现,而无需过多关注底层框架的配置和细节。这样的约定优于配置的设计理念,提高了开发效率,降低了应用程序的复杂性,并推动了快速开发和快速部署的实践。