springboot学习小笔记(二)---springboot工作机制

Spring Boot工作机制简介

一、@SpringBootApplication
我们新建一个springboot项目里面会有一个SpringbootDay1203Application类
在这里插入图片描述

我们都知道@SpringBootApplication是Springboot项目的核心注解,没有这个注解不能成为springboot项目。
你知道吗?-----@SpringBootApplication注解是一个复合注解。我们看一下官方文档上怎么说的
在这里插入图片描述
构成:@SpringBootApplication=@SpringBootConfiguration
+@EnableAutoConfiguration
+@ComponentScan
我们看一下@SpringBootApplication该注解的源代码(果然没错)
在这里插入图片描述
其他的注解我们下面稍稍解释一下,注重讲解这个3合1注解

@SpringBootConfiguration: @Configuration的作用一样,为了提醒IOC容器这是一个Spring Boot配置类。
(通俗讲:通知IOC有springboot来了,该工作了!)

@EnableAutoConfiguration:开启自动配置功能
将所有的符合自动配置Bean加载到当前Spring Boot创建并使用IOC容器中去。
(通俗讲:工作前的准备)

@ComponentScan:告诉IOC去包扫描
用于自动扫描和加载符合项目条件的组件或者Bean,且将Bean加载到IOC容器中去。
(通俗讲:工作吧)

@Target:指明了修饰的这个注解的使用范围,即被描述的注解可以用在哪里。
ElementType的取值包含以下几种:
TYPE:类,接口或者枚举
FIELD:域,包含枚举常量
METHOD:方法
PARAMETER:参数
CONSTRUCTOR:构造方法
LOCAL_VARIABLE:局部变量
ANNOTATION_TYPE:注解类型
PACKAGE:包

@Retention:指明修饰的注解的生存周期,即会保留到哪个阶段。
RetentionPolicy的取值包含以下三种:
SOURCE:源码级别保留,编译后即丢弃。
CLASS:编译级别保留,编译后的class文件中存在,在jvm运行时丢弃,这是默认值。
RUNTIME: 运行级别保留,编译后的class文件中存在,在jvm运行时保留,可以被反射调用。

@Documented:该注解标示注释是由 javadoc记录的, 那么咱们就可以利用javadoc来生成API。

@Inherited:允许子类继承父类的注解。
这个注解我们通过源码看一下(稍微了解一下)
在这里插入图片描述
可以看出是一个接口类。

猜你喜欢

转载自blog.csdn.net/weixin_39778417/article/details/84748623
今日推荐