@SpringBootApplication注解

它是什么?

SpringBootApplication是Springboot的核心注解,也是一个组合注解,使用在SpringBoot项目的启动类上,在项目初次启动的时候会快速扫描配置和搭建SpringBoot应用程序。

由什么注解组合而成?

有@Target @Retention @Documented @Inherited @SpringBootConfiguration @EnableAuto Configuration @ComponentScan 组成,其中@SpringBootConfiguration@EnableAutoConfiguration@ComponentScan 是核心注解。

大家也可以点击启动类的@SpringBootApplication注解进去看看。

@SpringBootConfiguration

SpringBoot的专用配置注解,表明这是一个配置类,它是@Configuration注解的一个特殊形式,相当于包装了@Configuration注解。@Configuration是一个专用于配置的注解,当一个类上使用了@Configuration注解,就说明这个类用于定义和提供Spring容器所需要的Bean实例。

@EnableAutoConfiguration

看到Enable就说明这个注解是开启什么东西的,继续看到后面的Configuration,就可以知道这个注解大概就是开启SpringBoot自动配置机制的。它会根据我们添加到SpringBoot应用程序中的依赖进行自动配置,例如,,我们添加了spring-boot-start-web,就会自动将项目配置为一个web应用程序。

@ComponentScan

它表示Spring自动搜索我们的项目,将项目中@component@Service@Repository@Controller等注解的类,并将他们注解为Spring上下文中的bean,默认情况下会从声明这个注解的类(启动类)开始扫描。

@Target

它应在那个注解就表示这个注解可以应用的Java元素类型,例如@Target({Elementtype.TYPE})表明这个注解只能应用在类,接口或者枚举上。

@Retention

它表示被它注解的注解可以保留多久,下面是它的几种枚举:

SOURCE:注解只保留在原代码中,当java文件编译为class文件时,注解失效。

CLASS:注解被保留到class文件,当jvm加载class文件的时候,注解失效。

RUNTIME:jvm加载完class文件后也存在。

@SpringBootApplication是一个组合注解,用于标注Spring Boot的主配置类。它包含了以下三个注解: 1. @SpringBootConfiguration:标注在某个类上,表示这是一个Spring Boot的配置类。该注解本身也是@Configuration的衍生注解,用于定义配置类。 2. @EnableAutoConfiguration:启用自动配置功能。Spring Boot会根据项目的依赖和配置,自动配置Spring应用程序上下文。它会根据类路径下的jar包和类上的注解来判断需要自动配置哪些功能。 3. @ComponentScan:指定Spring Boot应用程序的组件扫描的基础包。它会自动扫描并注册带有@Component、@Controller、@Service等注解的Bean。 综合来说,@SpringBootApplication的作用是将这三个注解组合在一起,方便快速启动一个Spring Boot应用程序,并进行自动配置和组件扫描。123 #### 引用[.reference_title] - *1* *2* [@SpringBootApplication注解详解](https://blog.csdn.net/killerofjava/article/details/104375433)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item] - *3* [@SpringBootApplication注解](https://blog.csdn.net/u010675669/article/details/109010552)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值