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)

你可能感兴趣的:(springboot)