网上得来终觉浅

_φ(❐_❐✧ 人丑就要多读书

导航

springboot自动装配

启动类上的复合注解@SpringBootApplication是springboot的核心注解,
其中

  • @EnableAutoConfiguration打开自动配置的功能,给容器导入META-INF/spring.factories 里定义的自动配置类。
  • @ComponentScan指定扫描路径,spring会把指定路径下带有指定注解的类自动装配到bean容器里,如果指定扫描路径为空则以@ComponentScan注解的类所在的包为基本的扫描路径。
    会被自动装配的注解包括@Controller、@Service、@Component、@Repository等等
@Target(ElementType.TYPE)//该注解只能声明在一个类前
@Retention(RetentionPolicy.RUNTIME)//注解不仅被保存到class文件中,jvm加载class文件之后,仍然存在;
@Documented//表明这个注解应该被 javadoc工具记录. 默认情况下,javadoc是不包括注解的
@Inherited//表示该注解会被子类继
@SpringBootConfiguration//继承自@Configuration,二者功能也一致,标注当前类是配置类【重点】
@EnableAutoConfiguration//自动装配【重点】
/**
*@ComponentSca,如果指定扫描路径为空则以@ComponentScan注解的类所在的包为基本的扫描路径
常用属性如下:
basePackages、value:指定扫描路径
basePackageClasses:指定具体扫描的类
includeFilters:指定满足Filter条件的类
excludeFilters:指定排除Filter条件的类
**/
@ComponentScan(excludeFilters = { @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),@Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
public @interface SpringBootApplication {
//......略
}

posted on 2022-03-11 17:42  bgtong  阅读(75)  评论(0)    收藏  举报