首页 > 其他分享 >SpringBoot启动类@SpringBootApplication注解

SpringBoot启动类@SpringBootApplication注解

时间:2023-06-13 23:36:37浏览次数:37  
标签:SpringBoot Spring SpringBootApplication 配置 扫描 注解 加载

在springBoot的启动类中,提供了一个mai函数的程序入口,来启动加载SpringBoot程序,那么注解@SpringBootApplication,通过源码可以看到,它相当于@ComponentScan + @EnableAutoConfiguration + @SpringBootConfiguration。

通过@SpringBootConfiguration注解的源码得知,其配置了一个@Configuration注解,来声明这是一个配置类,经过spring扫描读取其中的配置信息。所以@SpringBootConfiguration是来声明当前类是SpringBoot应用的配置类。他的内部也被也被@Component注解修饰,因此它可以被自动扫描和加载。

通过@ComponentScan注解来指定spring要扫描的包路径。自动扫描指定包及加载子包的组件,并把他们注册到spring应用程序中。

通过@EnableAutoConfiguration注解,它启用了Spring Boot的自动配置机制,根据项目的依赖和配置来自动配置Spring应用程序。

总结:@SpringBootApplication注解简化了配置和启动Spring Boot应用程序的过程,通过整合@Configuration、@EnableAutoConfiguration和@ComponentScan注解,实现了自动配置、组件扫描和加载。其中,@EnableAutoConfiguration根据依赖和配置进行自动配置,@ComponentScan用于扫描并加载Spring组件,@SpringBootConfiguration标识启动类作为Spring Boot应用程序的配置类。

标签:SpringBoot,Spring,SpringBootApplication,配置,扫描,注解,加载
From: https://www.cnblogs.com/kuangsun125/p/17478973.html

相关文章

  • 注解和反射
    注解和反射注解什么是注解?Annotation是从JDK5.0开始引入的新技术。Annotation的作用:不是程序本身,可以对程序作出解释(这一点和注释(comment)没什么区别)。可以被其他程序(比如:编译器等)读取。Annotation的格式:注解是以“@注释名”在代码中存在的,还可以添加一些参数......
  • SpringBoot自定义线程池
    SpringBoot自定义线程池在SpringBoot中,可以使用@Configuration和@Bean去设置线程池,用@Value去做线程池的参数配置。线程池配置:importcom.google.common.util.concurrent.ThreadFactoryBuilder;importorg.springframework.beans.factory.annotation.Value;importor......
  • springboot+JXLS+Jexl实现报表模版生成报表
    前言做这个项目的思路是由于公司基于自身发展,需要将之前的老项目平台拆解出来,由于之前的项目是所有的功能全部集中在一起,学习成本以及后续的扩展性来说,非常的不友好,并且由于之前设计人员的流失导致了项目无法进一步优化,所以想将其进行拆解,将单个功能模块进行拆分,形成微服务化,使每......
  • Java中@Transactional 注解使用注意事项
    隔离级别关键词原子性(Atomicity):事务是数据库的逻辑工作单位,它对数据库的修改要么全部执行,要么全部不执行。一致性(Consistemcy):事务前后,数据库的状态都满足所有的完整性约束。隔离性(Isolation):并发执行的事务是隔离的,一个不影响一个。如果有两个事务,......
  • springboot~代码风格统计spring-javaformat-maven-plugin插件
    SpringJavaformat是Spring团队开发的一款基于GoogleJavaFormat的代码格式化工具,可以帮助Java开发者自动化进行代码格式化,提高代码质量,降低代码维护成本。SpringJavaformat可以自定义配置文件,支持大量的代码风格配置选项,满足不同项目和团队的需求。还可以与Gradle、Maven、Int......
  • springboot rabbitmq配置
    YMLrabbitmq:host:xxx.xxx.xxx.xxxport:5672virtual-host:devusername:xxxpassword:xxxpublisher-confirm-type:correlatedpublisher-returns:truelistener:direct:acknowledge-mode:autosimple:......
  • 完美解决SpringBoot上传图片之后,需要重服务才能访问
    上传图片后需要重新编译才能访问图片添加一个配置文件WebMvcConfigctrl+shift+alt+/选择Registry,勾选compiler.automake.allow.when.app.running勾选添加一个配置文件WebMvcConfigpackagecom.fans.common.config;importorg.springframework.context.annotation.Configu......
  • window下正常的springboot到mac下运行却报错
    Errorcreatingbeanwithname'defaultValidator'definedinclasspathresource[org/springframework/boot/autoconfigure/validation/ValidationAutoConfiguration.class]:Invocationofinitmethodfailed;nestedexceptionisjava.lang.NoClassDefFoun......
  • 公司已有springboot项目引入swagger
    公司已有springboot项目引入swagger1、swagger介绍官网:https://swagger.io/Swagger是一个用于生成、描述和调用RESTful接口的Web服务。通俗的来讲,Swagger就是将项目中所有(想要暴露的)接口展现在页面上,并且可以进行接口调用和测试的服务2、引入目的Swagger有以下3个重要的作......
  • 搭建springbootweb环境
    搭建springboot环境(idea环境)实现步骤:1.基础环境配置2.maven配置3.编写第一个程序helloworld(可能有两个小问题)4.运行(jar包运行,命令行运行)一.基础环境配置进入idea,点击file->new->project,在弹出的页面上,选择springinitiallzr并进行相关的配置点击next点击create,完成sp......