springbootapplication注解包括哪些注解_@SpringBootApplication 注解 详解

简单介绍一下@SpringBootApplication注解都有哪些注解组合而成。

a80345fae4d67a3c1757ec82ca4e381a.png

SpringBoot

一、@SpringBootApplication是SpringBoot的一个核心注解,也是一个组合注解。

二、@SpringBootApplication包含的注解详解

916941d4066e10300ead7d82580e49b1.png

SpringBootApplication组合注解

1、@Target({ElementType.TYPE}) : 自定义所修饰的注解作用范围

1.1、ElementType包含: TYPE、FIELD、METHOD、PARAMETER、CONSTRUCTOR、LOCAL_VARIABLE、ANNOTATION_TYPE、PACKAGE、TYPE_PARAMETER、TYPE_USE

1.1.1、TYPE:用来描述类、接口(包括注解类型) 或enum声明 Class, interface

1.1.2、FIELD: 用来描述域 Field declaration

1.1.3、METHOD: 用来描述方法

1.1.4、PARAMETER: 用来描述参数

1.1.5、CONSTRUCTOR: 用来描述构造器

1.1.6、LOCAL_VARIABLE:用来描述局部变量

1.1.7、ANNOTATION_TYPE: 声明类型

1.1.8、PACKAGE:用来描述包

1.1.9、TYPE_PARAMETER:用来标注类型参数

1.1.10、TYPE_USE: 标注任何类型名称

2、@Retention(RetentionPolicy.RUNTIME) :定义所修饰的注解的生命周期

2.1、RetentionPolicy包含:SOURCE、CLASS、RUNTIME

2.1.1、SOURCE:注解只保留在源文件,当Java文件编译成class文件的时候,注解被遗弃。

2.1.2、CLASS: 注解被保留到class文件,但jvm加载class文件时候被遗弃,默认的。

2.1.3、RUNTIME: 注解被保存到class文件中,jvm加载class文件之后也存在。

3、@Documented:用来标注生成javadoc的时候是否会被记录。

4、@Inherited:子类会继承父类的被@Inherited修饰过的注解。

5、@SpringBootConfiguration:其中只有一个核心注解:@Configuration。@SpringBootConfiguration是被SpringBoot封装的注解,@Configuration是java原生注解。其功能也一致,标注当前类是个配置类,被该注解标注的类提供的以@Bean定义的方法,都可以注入到Spring容器中,并被扫描到

6、@EnableAutoConfiguration:

5dc19a56e506db35bd1f622c4a505af5.png

@EnableAutoConfiguration注解

其中一个最关键的注解@Import({AutoConfigurationImportSelector.class}),讲AutoConfigurationImportSelector.class中能找到的配置都加载到IOC中。查看AutoConfigurationImportSelector.class可以发现,最终通过loadFactoryNames()方法,找到/META-INF目录下的spring.factories。SpringBoot集成的很多开源技术,都是通过spring.factories导入的。(本篇不主要介绍该注解,后期会专门讲解。)

7、@ComponentScan:默认扫描@SpringBootApplication所在类的同级包,可以理解成如果不加该注解,就无法扫描到Controller了。启动类和控制器在同一个包下;启动类所在的包高于控制器所在的包,的情况都可以被扫描到。也可以通过basePackages参数定义需要扫描的目录。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值