1、Maven用户继承spring-boot-starter-parent项目,来获取最佳依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.1.RELEASE</version>
</parent>
<!--父级为:-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.3.1.RELEASE</version>
</parent>
spring-boot-dependencies为仲裁器,放置了所有依赖的版本,简化了依赖的管理。
2、spring-boot-starter:场景启动器
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
spring-boot-starter-web:帮我们导入了web模块正常运行所依赖的所有组件。
3、Spring Boot将所有功能场景都抽取出来,做成starter,当我们需要使用某个功能,导入相应场景启动器就可以了:
https://docs.spring.io/spring-boot/docs/2.4.0-SNAPSHOT/reference/html/using-spring-boot.html#using-boot-starter
4、@SpringBootApplication
@SpringBootApplication标注在某个类上说明这个类是spring boot的主配置类,spring boot就运行该类的main方法启动spring boot应用。
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(
excludeFilters = {@Filter(
type = FilterType.CUSTOM,
classes = {TypeExcludeFilter.class}
), @Filter(
type = FilterType.CUSTOM,
classes = {AutoConfigurationExcludeFilter.class}
)}
)
public @interface SpringBootApplication
1、@SpringBootConfiguration:表示这是一个spring boot的配置类
2、@EnableAutoConfiguration:开启自动配置功能,以前我们需要配置的东西,都被自动配置类做了