1.Starter
SpringBoot中的一大优势就是starter,SpringBoot也提供了很多开箱即用的starter依赖,使得我们开发变更加方便和简单,遵循约定大于配置的理念。
启动器是一组方便的依赖描述符,您可以将其包含在应用程序中。您可以获得所需的所有Spring和相关技术的一站式商店,而无需搜索样本代码和复制粘贴依赖描述符。例如,如果您想开始使用Spring和JPA进行数据库访问,请在您的项目中包含依赖项:Spring-boot-starter-data-JPA。启动器包含许多依赖项,这些依赖项是您快速启动和运行项目所需的,并且具有一组一致的、受支持的托管可传递依赖项。
如需详细了解Starter,可以查看Spring官方关于Starter的描述文档
2.Auto-configuration
Spring Boot 自动配置会尝试根据您添加的 jar 依赖项自动配置您的 Spring 应用程序。 例如,如果位于类路径上,并且您尚未手动配置任何数据库连接 bean,则 Spring Boot 会自动配置内存中数据库。您需要通过向其中一个类添加 或 注释来选择加入自动配置。@EnableAutoConfiguration
@SpringBootApplication
@Configuration
如需详细了解自动配置,可以查看Spring官方关于自动配置的描述文档
3.自定义Auto-configuration和Starter
本示例基于SpringBoot-2.7.6版本进行构建的
3.1.创建maven工程
- 工程结构如下图:
- POM依赖信息:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.example.starter</groupId> <artifactId>demo-spring-boot-starter</artifactId> <version>0.0.1-SNAPSHOT</version> <name>demo-spring-boot-starter</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <spring-boot.version>2.7.6</spring-boot.v