浅谈Java注解之SpringBootApplication

embedded/2024/12/21 12:03:19/

一、SpringBootApplication的介绍

@SpringBootApplication是一个组合注解,由@Configuration@EnableAutoConfiguration@ComponentScan这三个注解组合而成。它的主要作用是标注一个 Java 类作为 Spring Boot 应用程序的启动类,当运行该类的main方法时,Spring Boot 会自动进行一系列的配置和初始化操作,从而启动整个应用程序。

二、SpringBootApplication的特点

  • 自动配置:这是@SpringBootApplication的核心特点之一。通过@EnableAutoConfiguration注解,Spring Boot 会根据项目中添加的依赖自动配置 Spring 框架的各种组件,如数据源、Web 容器、消息队列等。大大减少了开发人员手动配置的工作量,提高了开发效率。
  • 组件扫描@ComponentScan注解会自动扫描启动类所在包及其子包下的所有组件,如@Controller@Service@Repository等注解标注的类,并将它们注册到 Spring 容器中,方便在应用程序中进行依赖注入和使用。
  • 简化配置:将多个注解组合在一起,避免了在启动类中显式地添加多个注解,使代码更加简洁清晰,减少了配置的复杂性。
  • 灵活定制:虽然 Spring Boot 提供了大量的自动配置,但开发人员仍然可以根据具体需求对自动配置进行定制。可以通过在application.propertiesapplication.yml配置文件中设置相关属性,或者创建自定义的配置类来覆盖默认的自动配置。

三、SpringBootApplication的使用

  • 基本使用
  • 1、创建一个 Java 类作为 Spring Boot 应用程序的启动类,通常将其放在项目的根包或根包的子包下。、
  • 2、在该类上添加@SpringBootApplication注解。
  • 3、在启动类中定义一个main方法,在main方法中调用SpringApplication.run()方法来启动应用程序。例如:
java">import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class MyApplication {public static void main(String[] args) {SpringApplication.run(MyApplication.class, args);}
}

  • 定制自动配置
    • 通过在application.propertiesapplication.yml配置文件中设置相关属性来定制自动配置。例如,配置服务器端口号:server.port=8081
    • 创建自定义的配置类来覆盖默认的自动配置。例如,如果想自定义数据源的配置,可以创建一个配置类并实现DataSourceConfigurer接口,然后在该类中进行数据源的相关配置。
  • 与其他框架集成
    • 在使用 Spring Boot 与其他框架集成时,@SpringBootApplication同样起着关键作用。比如与 MyBatis 集成时,只需要在pom.xml文件中添加 MyBatis 和 Spring Boot 与 MyBatis 的整合依赖,然后在启动类所在包及其子包下创建 MyBatis 的Mapper接口和对应的Mapper.xml文件,Spring Boot 会自动扫描并配置好 MyBatis 相关组件,无需进行复杂的手动配置。


http://www.ppmy.cn/embedded/147525.html

相关文章

【HarmonyOS NEXT】Web 组件的基础用法以及 H5 侧与原生侧的双向数据通讯

关键词:鸿蒙、ArkTs、Web组件、通讯、数据 官方文档Web组件用法介绍:文档中心 Web 组件加载沙箱中页面可参考我的另一篇文章:【HarmonyOS NEXT】 如何将rawfile中文件复制到沙箱中_鸿蒙rawfile 复制到沙箱-CSDN博客 目录 如何在鸿蒙应用中加…

【vue2+js】记录如何校验一组数据中是否有区间重叠

界面样子 html代码片段 <template><div class"threshold-wrap"><el-form class"threshold-list" ref"form"><span v-for"(v, vIndex) in thresholdList" :key"v.id"><el-form-item prop…

【设计模式】空接口

&#xff08;空&#xff09;接口的用法总结 接口用于定义某个类的特定能力或特性。在工作流或任务管理系统中&#xff0c;接口可以帮助标识哪些任务可以在特定阶段执行。通过实现这些接口&#xff0c;任务类可以被标识为在相应的阶段可以执行&#xff0c;从而在验证和执行逻辑…

vue create 创建项目 提示 Failed to check for updates 淘宝 NPM 镜像站喊你切换新域名啦

1、使用 vue create demo创建项目的时候发现 提示 “Failed to check for updates”&#xff0c; 执行 npm config list 看了一下 镜像源是&#xff1a;https://registry.npm.taobao.org 然后搜索一下发现这个淘宝这个镜像域名切换了。 公告地址&#xff1a;【公告】淘宝 npm …

WebMvcConfigurer和WebMvcConfigurationSupport(MVC配置)

一:基本介绍 WebMvcConfigurer是接口&#xff0c;用于配置全局的SpringMVC的相关属性&#xff0c;采用JAVABean的方式来代替传统的XML配置文件&#xff0c;提供了跨域设置、静态资源处理器、类型转化器、自定义拦截器、页面跳转等能力。 WebMvcConfigurationSupport是webmvc的…

【C语言】打牌游戏

相信你是最棒哒&#xff01;&#xff01;&#xff01; 文章目录 题目描述 正确代码 总结 题目描述 Suneet 和 Slavic 玩一个卡牌游戏。游戏规则如下&#xff1a; 每张卡片的整数值在 1 和 10之间。每位玩家获得 2 张面朝下的卡片&#xff08;因此玩家不知道自己的卡片&#…

《剑网三》遇到找不到d3dx9_42.dll的问题要怎么解决?缺失d3dx9_42.dll是什么原因?

《剑网三》游戏运行中d3dx9_42.dll缺失问题深度解析与解决方案 在畅游《剑网三》的武侠世界时&#xff0c;不少玩家可能会遇到系统提示“找不到d3dx9_42.dll”的报错信息。这一突如其来的问题不仅让游戏进程受阻&#xff0c;还可能让玩家陷入困惑与无奈。我将为大家深入剖析这…

Qt Quick:CheckBox 复选框

复选框不止选中和未选中2种状态哦&#xff0c;它还有1种部分选中的状态。这3种状态都是Qt自带的&#xff0c;如果想让复选框有部分选中这个状态&#xff0c;需要将三态属性&#xff08;tristate&#xff09;设为true。 未选中的状态值为0&#xff0c;部分选中是1&#xff0c;选…