Spring Boot 的 自动配置(Auto-configuration) 是指框架根据项目的依赖和应用程序的环境自动配置 Spring 应用上下文中的 Bean 和组件,目的是简化开发者的配置工作。
核心概念:
自动配置的核心在于 "约定优于配置"(Convention over Configuration),Spring Boot 会通过一定的默认规则,根据开发者的类路径、依赖项和环境判断需要装配哪些 Bean,并自动进行配置,减少手动编写配置文件和代码的复杂度。
自动配置的关键特点:
自动加载常用组件:
根据类路径中的依赖和配置自动注册常见的组件。例如,项目中有 spring-boot-starter-web 依赖,Spring Boot 会自动配置一个嵌入式的 Tomcat 服务器和常用的 MVC 组件(如 DispatcherServlet)。
基于条件的配置:
Spring Boot 通过条件注解(如 @ConditionalOnClass、@ConditionalOnMissingBean)来决定是否启用某个自动配置。例如,当类路径中存在某个数据库驱动且未手动配置数据源时,Spring Boot 会自动配置一个 DataSource。
可以覆盖默认配置:
如果开发者需要更改某些默认配置,可以通过手动配置来覆盖。Spring Boot 允许你在配置文件(application.properties 或 application.yml)中修改默认参数,或者通过手动定义 Bean 来替换自动配置的 Bean。
减少繁琐配置:
传统 Spring 应用中需要手动编写大量 XML 或 Java 配置类。而在 Spring Boot 中,大多数配置是自动完成的,开发者只需关注具体业务逻辑。
参考:https://blog.csdn.net/jinxinxin1314/article/details/142931066