Spring Boot学习三(自动装配)

@SpringBootApplication

//设置当前注解可以标记在哪里 @Target(ElementType.TYPE)//当注解标注的类编译以什么方式保留 RUNTIME会被JVM加载 @Retention(RetentionPolicy.RUNTIME)//java doc会生成注解信息 @Documented//是否会被继承 @Inherited//标注在某个类上,表示这是一个SPring Boot的配置类 @SpringBootConfiguration//配置类上来标注这个注解 @Configuration//开启自动配置功能,会帮我们自动去加载 @EnableAutoConfiguration//扫描包 相当于在spring.xml 配置中 //但是并没有指定basepackage,如果没有指定spring底层会自动扫描当前配置类所在的包 @ComponentScan(excludeFilters = { @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class), @Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })//spring boot对外提供的扩展类,可以供我们去按照我们的方式进行排除 TypeExcludeFilter//排除所有配置类并且是自动配置类里面的其中一个 AutoConfigurationExcludeFilter

@EnableAutoConfiguration
@Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited//将当前配置类所在的包保存在BasePackages的Bean中。供Spring内部使用 @AutoConfigurationPackage @Import(AutoConfigurationImportSelector.class)

    推荐阅读