浅谈Java注解之SpringBootApplication

server/2024/12/21 15:20:30/

一、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/server/151975.html

相关文章

调用摄像头检测人脸

引言: 机器视觉在近些年来很热门,比如自动驾驶、人脸识别等领域都有很大的作用,所以也有很多人愿意去学习相关内容,本文将初步探索人脸识别领域中检测人脸的模块。 正文: 如果真的要自己从底层开发识别人脸的程序,那么难度还是很大的。 其实还是站在巨人的肩膀上看世界…

macOS 显示或不显示隐藏文件

在 macOS 中,可以通过以下方法设置是否显示隐藏文件: 使用快捷键临时切换显示隐藏文件 打开 Finder。按下快捷键 Command Shift . (点号键)。 这会立即切换显示/隐藏隐藏文件的状态。 使用终端永久设置 打开 终端&#xff…

Spring基础分析09-事务管理策略(编程式、声明式)

大家好,今天和大家一起分析一下Spring的事务管理机制~ 在分布式系统或企业级应用中,事务处理是保证数据一致性和可靠性的关键。Spring框架提供的事务管理功能可以有效地简化Java应用程序中的事务处理。 一、编程式事务管理 (一&#xff09…

libilibi项目总结(16)数据统计、查询

statistics_info CREATE TABLE statistics_info (statistics_date varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 统计日期,user_id varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 用户ID,data_type tin…

javaScript中slice()和splice()的用法与区别

定义和功能 slice()方法: slice()方法用于从一个数组(或字符串)中提取指定范围的元素(或字符),它不会改变原始数组(或字符串),而是返回一个新的数组(或字符串…

基础二层交换组网(静态IP)

拓扑图 实验目的 掌握并了解网络中静态IP默认无路由影响的情况。 实验过程 1.创建拓扑 2.配置PC1、PC2 IP地址 PC1: IP地址:192.168.0.1 子网掩码:255.255.255.0PC2: IP地址:192.168.0.2 子网掩码:255.…

开启新征程——QML

文章目录 前言什么是 QML?QML 的主要特点: 什么是 Qt Quick?Qt Quick 的主要特点: QML 与 C 的结合开发工具总结 文章目录 前言什么是 QML?QML 的主要特点: 什么是 Qt Quick?Qt Quick 的主要特点…

计算机网络基础--WebSocket

什么是 WebSocket? WebSocket 是一种基于 TCP 连接的全双工通信协议,即客户端和服务器可以同时发送和接收数据。 WebSocket 协议在 2008 年诞生,2011 年成为国际标准,几乎所有主流较新版本的浏览器都支持该协议。不过,WebSocke…