原理初探
自动配置:
1.pom.xml:
*spring-boot-dependencies:核心依赖在父工程中
*再写入或引入一些依赖的时候,不需要指定版本,应为有版本仓库
2.启动器:就是springboot的启动场景
比如spring-boot-starter-web,会自动导入web环境的所有依赖
spring boot会将所有的功能场景,都变成一个启动器
我们需要什么功能,只需要导入对应的启动器就行了
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency>3.主程序
//@SpringBootApplication:标注这个类是一个spring boot的应用,启动类下的所有资源 @SpringBootApplication public class Springboot01HellowordApplication { public static void main(String[] args) { // 将spring boot应用启动 SpringApplication.run(Springboot01HellowordApplication.class, args); } }注解
@org.springframework.boot.SpringBootConfiguration: springboot的配置 @org.springframework.context.annotation.Configuration:spring配置类 @org.springframework.stereotype.Component:说明这也是一个spring组件 @org.springframework.boot.autoconfigure.EnableAutoConfiguration:自动配置 @AutoConfigurationPackage:自动配置包 @Import({org.springframework.boot.autoconfigure.AutoConfigurationPackages.Registrar.class}):导入了选择器 `包注册` @Import({org.springframework.boot.autoconfigure.AutoConfigurationImportSelector.class}): 自动配置导入选择springboot所有的自动配置都在启动的时候被扫描并加载:spring.factories,所有的自动配置类都在里面。但并不一定全部都成功,需要导入对应的start,就有了对应的启动器,有了启动器,自动装配才会生效,然后就配置成功。