Spring-Boot-Starter:
是SpringBoot场景启动依赖的组件。SpringBoot将所有的功能场景抽取出来,做成一个一个的Starts(启动器),用到什么场景就导入什么启动器。
一些注解:
@SpringBootApplication:springBoot的配置类:作用就是标注在某个类上,表示这是一个SpringBoot的配置类;
@Configuration:配置类上来标注这个注解;
配置类—配置文件(配置类也是容器中的一个组件@Component)
@EnableAutoConfiguration:开启自动配置功能;
@AutoConfigurationPackage @Import({AutoConfigurationImportSelector.class}) public @interface EnableAutoConfiguration {
@AutoConfigurationPackage:自动配置包
@Import(AutoConfigurationPackages.Registrar.class):
Spring的底层注解@import,给容器中导入一个组件;
主程序类(入口类):
@SpringBootConfiguration
:标注在某个类上,表示这是一个SpringBoot的配置类。
@Configuration:配置类上来标注这个注解;
@EnableAutoConfiguration: //开启自动配置功能 @AutoConfigurationPackage: //自动配置包; //将主配置类(@SpringBootApplication)下的所有包及所有子包里面的所有组件都扫描到Spring容器中。 @Import(AutoConfigurationPackages.Registrar.class): //给容器中导入组件 @Import注解: //Spring底层注解,给容器中导入一个组件(AutoConfigurationPackages.Registrar.class) EnableAutoConfigurationImportSelector: //导入哪些组件的选择器;将所有需要导入的组件以全类名的方式返回;这些组件就会被添加到容器中;会给容器中导入非常多的自动配置类(xxxAutoConfiguration);就是给容器中导入这个场景需要的所有组件,并配置好这些组件;
有自动配置类,免去手动编写配置注入功能组件等的工作;
SpringBoot启动时从类路径下的META-INF/spring.factories中获取EnableAutoConfiguration指定的值,将这些值作为自动配置类导入到容器中,自动配置类就生效,帮我们进行自动配置工作;
原文:https://www.cnblogs.com/slbqsa/p/11293714.html