SpringBootApplication注解

// 元注解 @Target:注解的作用目标
//ElementType.TYPE:接口、类、枚举、注解
@Target({ElementType.TYPE})

//元注解 @Retention 注解作用目标的生命周期  
//RetentionPolicy.RUNTIME:注解不仅被保存到class文件中,jvm加载class文件之后,仍然存在;
@Retention(RetentionPolicy.RUNTIME)

//元注解 @Documented 注解表明这个注解应该被 javadoc工具记录. 默认情况下,javadoc是不包括注解的.
//但如果声明注解时指定了 @Documented,则它会被 javadoc 之类的工具处理, 
//所以注解类型信息也会被包括在生成的文档中,是一个标记注解,没有成员。
@Documented

// @Inherited是一个标识,用来修饰注解
//作用:如果一个类用上了@Inherited修饰的注解,那么其子类也会继承这个注解
@Inherited

//@SpringBootConfiguration继承自@Configuration,二者功能也一致,标注当前类是配置类,
//并会将当前类内声明的一个或多个以@Bean注解标记的方法的实例纳入到spring容器中,并且实例名就是方法名。
@SpringBootConfiguration

//@EnableAutoConfiguration 自动载入应用程序所需的所有Bean——这依赖于Spring Boot在类路径中的查找。
@EnableAutoConfiguration

//该注解默认会扫描该类所在的包下所有的配置类,相当于之前的 <context:component-scan>。
@ComponentScan(
    excludeFilters = {@Filter(
    type = FilterType.CUSTOM,
    classes = {TypeExcludeFilter.class}
), @Filter(
    type = FilterType.CUSTOM,
    classes = {AutoConfigurationExcludeFilter.class}
)}
)

//在SpringBoot2.2之后,如果想让一个仅有@ConfigurationProperties注解的配置类被注册为bean,
//可以通过@ConfigurationPropertiesScan注解开启。则不再需要配合@Component一起使用
@ConfigurationPropertiesScan
public @interface SpringBootApplication {
    @AliasFor(
        annotation = EnableAutoConfiguration.class
    )
    Class<?>[] exclude() default {};

    @AliasFor(
        annotation = EnableAutoConfiguration.class
    )
    String[] excludeName() default {};

    @AliasFor(
        annotation = ComponentScan.class,
        attribute = "basePackages"
    )
    String[] scanBasePackages() default {};

    @AliasFor(
        annotation = ComponentScan.class,
        attribute = "basePackageClasses"
    )
    Class<?>[] scanBasePackageClasses() default {};

    @AliasFor(
        annotation = Configuration.class
    )
    boolean proxyBeanMethods() default true;
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值