当前位置: 首页 > news >正文

Spring Boot比Spring多哪些注解?

Spring Boot 相比 Spring 多了很多自动化配置和简化开发的注解,主要包括以下几类:

  1. Spring Boot 启动与自动配置相关
  2. Spring Boot 配置相关
  3. Spring Boot Web 相关
  4. Spring Boot 测试相关
  5. Spring Boot 条件装配相关
  6. Spring Boot 监控与 Actuator 相关

1. Spring Boot 启动与自动配置相关

注解作用
@SpringBootApplicationSpring Boot 入口类,相当于 @Configuration + @EnableAutoConfiguration + @ComponentScan
@EnableAutoConfiguration启用 Spring Boot 自动配置,根据类路径中的依赖自动配置 Bean
@SpringBootConfiguration继承自 @Configuration,用于定义 Spring Boot 配置类
@ComponentScan组件扫描,默认扫描当前类所在的包及其子包

2. Spring Boot 配置相关

注解作用
@ConfigurationProperties(prefix = "xxx")绑定外部配置,用于从 application.ymlapplication.properties 加载配置
@EnableConfigurationProperties使 @ConfigurationProperties 注解的类生效
@PropertySource("classpath:xxx.properties")引入额外的配置文件
@Value("${xxx}")注入配置值
@ImportResource("classpath:xxx.xml")引入 XML 配置文件

3. Spring Boot Web 相关

注解作用
@RestController@Controller + @ResponseBody,返回 JSON 数据的 RESTful API
@GetMapping@RequestMapping(method = RequestMethod.GET) 的简化版
@PostMapping@RequestMapping(method = RequestMethod.POST) 的简化版
@PutMapping@RequestMapping(method = RequestMethod.PUT) 的简化版
@DeleteMapping@RequestMapping(method = RequestMethod.DELETE) 的简化版
@PatchMapping@RequestMapping(method = RequestMethod.PATCH) 的简化版
@ResponseStatus(HttpStatus.OK)指定返回状态码

4. Spring Boot 测试相关

注解作用
@SpringBootTestSpring Boot 测试环境,会自动加载 Spring Boot 上下文
@TestConfiguration测试专用的 @Configuration,避免污染生产配置
@MockBean使用 Mockito 模拟 Bean,替换真实的 Bean
@SpyBean对 Spring 容器中的 Bean 进行部分模拟

5. Spring Boot 条件装配相关

注解作用
@ConditionalOnClass类存在时才生效
@ConditionalOnMissingClass类不存在时才生效
@ConditionalOnBean容器中存在某个 Bean 时才生效
@ConditionalOnMissingBean容器中不存在某个 Bean 时才生效
@ConditionalOnProperty(name="xxx", havingValue="true")指定配置项存在且等于指定值时才生效
@ConditionalOnExpression("${xxx} == true")Spring EL 表达式条件判断
@ConditionalOnWebApplicationWeb 环境下才生效
@ConditionalOnNotWebApplication非 Web 环境下才生效

6. Spring Boot 监控与 Actuator 相关

注解作用
@EnableScheduling开启定时任务
@Scheduled(fixedRate = 5000)定义定时任务,每 5 秒执行一次
@EnableAsync开启异步任务
@Async异步执行方法
@EnableCaching开启缓存
@Cacheable("users")启用缓存
@CacheEvict("users")清除缓存

Spring Boot 比 Spring 多的注解总结

  • 启动与自动配置相关@SpringBootApplication@EnableAutoConfiguration
  • 配置相关@ConfigurationProperties@EnableConfigurationProperties
  • Web 相关@RestController@GetMapping@PostMapping
  • 测试相关@SpringBootTest@MockBean
  • 条件装配相关@ConditionalOnClass@ConditionalOnMissingBean
  • 监控与 Actuator@EnableScheduling@Async@EnableCaching

Spring Boot 最大的区别在于“自动化配置”和“简化开发”,相比于 Spring,减少了大量 XML 配置,并且提供了很多便捷的注解来快速构建应用

相关文章:

Spring Boot比Spring多哪些注解?

Spring Boot 相比 Spring 多了很多自动化配置和简化开发的注解,主要包括以下几类: Spring Boot 启动与自动配置相关Spring Boot 配置相关Spring Boot Web 相关Spring Boot 测试相关Spring Boot 条件装配相关Spring Boot 监控与 Actuator 相关 1. Spring…...

springboot021校园周边美食探索及分享平台

版权声明 所有作品均为本人原创,提供参考学习使用,如需要源码数据库配套文档请移步 www.taobysj.com 搜索获取 技术实现 开发语言:Javavue。 框架:后端spingboot前端vue。 模式:B/S。 数据库:mysql。 开…...

【网络通信】传输层之UDP协议

【网络通信】传输层之UDP协议 传输层端对端通信实现端到端通信的关键技术 UDP协议再谈端口号端口号划分关于端口号的两个问题 UDP协议基本格式UDP通信的特点UDP的缓冲区UDP数据报的最大长度基于UDP的应用层协议如何封装UDP报文以及如何交付UDP报文进一步理解封装和解包 传输层 …...

Python环境搭建与量化交易开发:从基础到实战

Python环境搭建与量化交易开发:从基础到实战 在量化交易领域,Python因其强大的数据处理能力和丰富的库支持而成为首选编程语言。本文将指导您如何在本地搭建一个适合量化交易的Python环境,并介绍一些实用的工具和技巧。 《QMT开通规则分享》…...

软著申请(六)软著返修流程【2025年最新版】

软著申请(六)软著返修流程【2025年最新版】 一、软著返修流程1、软著返修流程须知2、相关细节二、针对大模型特殊补正条件三、备注本服务提供详细的软件著作权申请流程指导。申请人严格按照指导步骤完成申请,若最终未能成功获得著作权登记,可联系服务提供方进行免费咨询和指…...

SOUI基于Zint生成Code11码

Code 11 是一种高密度的数字条形码,主要用于标识电信设备和电子元件。它的名称来源于其能够编码 11 种字符:数字 0-9 和连接符 -。Code 11 是一种双向可读的条形码,支持校验位以提高数据准确性。 在使用BARCODE_CODE11码制生成code 11码时可指…...

sqlilabs第八关

?id1 and sleep(2)-- 发现页面存在注点,使用时间盲注脚本进行注入--- import requestsdef inject_database(url):name #name用于存储猜测出的数据库名称 for i in range(1, 20): # 假设数据库名称长度不超过20low 48 # 0high 122 # zmiddle (low high…...

基于HAL库的按钮实验

实验目的 掌握STM32 HAL库的GPIO输入配置方法。 实现通过按钮控制LED亮灭(支持轮询和中断两种模式)。 熟悉STM32CubeMX的外部中断(EXTI)配置流程。 实验硬件 开发板:STM32系列开发板(如STM32F103C8T6、N…...

DeepSeek 突然来袭,AI 大模型变革的危机与转机藏在哪?

随着人工智能技术的飞速发展,大模型领域不断涌现出具有创新性的成果。DeepSeek 的横空出世,为 AI 大模型领域带来了新的变革浪潮。本文将深入探讨 DeepSeek 出现后 AI 大模型面临的危机与转机。 冲冲冲!!! 目录 一、…...

prompt技术结合大模型 生成测试用例

要利用prompt技术结合大模型对目标B/S架构软件系统进行测试,以下以使用Python调用OpenAI的GPT模型进行功能测试用例生成,再借助Selenium库执行测试为例,给出一个完整的实现示例。 前提条件 安装依赖库:你需要安装openai和selenium库,可以使用以下命令进行安装:pip insta…...

【C++ 真题】P2920 [USACO08NOV] Time Management S

P2920 [USACO08NOV] Time Management S 题目描述 Ever the maturing businessman, Farmer John realizes that he must manage his time effectively. He has N jobs conveniently numbered 1…N (1 < N < 1,000) to accomplish (like milking the cows, cleaning the …...

pip安装指定版本的包

个人博客地址&#xff1a;pip安装指定版本的包 | 一张假钞的真实世界 使用以下命令安装指定版本的包&#xff1a; # pip install pyspark2.3.3...

【pytest】获取所有用例名称并存于数据库

数据库操作包&#xff0c;引用前面创建的py文件&#xff0c;【sqlite】python操作sqlite3&#xff08;含测试&#xff09; #!/usr/bin/env python # -*- coding: utf-8 -*- # Time : 2025-02-11 8:45 # Author : duxiaowei # File : get_filename.py # Software: 这个文…...

Java中原子操作的实现原理

目录 一、处理器如何实现原子操作&#xff1f; 1.使用总线锁保证原子性 1.使用缓存锁保证原子性 二、Java如何实现原子操作&#xff1f; 1&#xff09;使用循环CAS实现原子操作 2&#xff09;CAS实现原子操作的三大问题 3&#xff09;使用锁机制实现原子操作 前言 原子&…...

25农村发展研究生复试面试问题汇总 农村发展专业知识问题很全! 农村发展复试全流程攻略 农村发展考研复试真题汇总

农村发展复试当然有好的建议&#xff01;前提是复试重点面试题背好&#xff01; 你是不是也在为农村发展考研复试发愁&#xff1f;担心自己准备不充分、表现不好&#xff1f;别急&#xff01;今天&#xff0c;学姐——复试面试拿下90分成功上岸的学姐&#xff0c;来给大家分享…...

一维前缀和与二维前缀和

前缀和&#xff08;Prefix Sum&#xff09;是一种用于高效计算数组区间和的预处理技术&#xff0c;尤其适用于需要频繁查询子数组或子矩阵和的场景。下面详细讲解一维前缀和与二维前缀和的原理、构建方法及应用。 一、一维前缀和 1. 定义 前缀和数组 prefix 的每个元素 prefi…...

3×2 MIMO系统和2×2 MIMO系统对比

从 SVD&#xff08;奇异值分解&#xff09;预编码 的角度分析&#xff0c;32 MIMO 系统相比 22 MIMO 系统在容量、功率分配灵活性和抗干扰能力方面具有潜在优势。以下是具体分析&#xff1a; 1. SVD预编码的基本原理 SVD 预编码是一种基于信道状态信息&#xff08;CSI&#xf…...

【MySQL — 数据库基础】深入解析 MySQL 的联合查询

1. 插入查询结果 语法 insert into table_name1 select* from table_name2 where restrictions ;注意&#xff1a;查询的结果集合&#xff0c;列数 / 类型 / 顺序 要和 insert into 后面的表相匹配&#xff1b;列的名字不要求相同&#xff1b; create table student1(id int , …...

【医院运营统计专题】3.解码医院运营统计:目标、原则与未来蓝图

医院成本核算、绩效管理、运营统计、内部控制、管理会计专题索引 一、医院运营统计的关键意义 在医疗行业持续发展与变革的大背景下,医院运营统计作为医院管理的关键组成部分,其重要性愈发凸显。从国内医院的普遍现状来看,运营统计已深度融入日常管理,为医院的有序运转提…...

Ubuntu 下 nginx-1.24.0 源码分析 - ngx_atomic_cmp_set 函数

目录 修正 执行 ./configure 命令时&#xff0c;输出&#xff1a; checking for OS Linux 6.8.0-52-generic x86_64 checking for C compiler ... found using GNU C compiler gcc version: 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04) 所以当前环境是 x86_64 于是在 src…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动

一、前言说明 在2011版本的gb28181协议中&#xff0c;拉取视频流只要求udp方式&#xff0c;从2016开始要求新增支持tcp被动和tcp主动两种方式&#xff0c;udp理论上会丢包的&#xff0c;所以实际使用过程可能会出现画面花屏的情况&#xff0c;而tcp肯定不丢包&#xff0c;起码…...

智能AI电话机器人系统的识别能力现状与发展水平

一、引言 随着人工智能技术的飞速发展&#xff0c;AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术&#xff0c;在客户服务、营销推广、信息查询等领域发挥着越来越重要…...

嵌入式学习笔记DAY33(网络编程——TCP)

一、网络架构 C/S &#xff08;client/server 客户端/服务器&#xff09;&#xff1a;由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序&#xff0c;负责提供用户界面和交互逻辑 &#xff0c;接收用户输入&#xff0c;向服务器发送请求&#xff0c;并展示服务…...

Webpack性能优化:构建速度与体积优化策略

一、构建速度优化 1、​​升级Webpack和Node.js​​ ​​优化效果​​&#xff1a;Webpack 4比Webpack 3构建时间降低60%-98%。​​原因​​&#xff1a; V8引擎优化&#xff08;for of替代forEach、Map/Set替代Object&#xff09;。默认使用更快的md4哈希算法。AST直接从Loa…...

Web中间件--tomcat学习

Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机&#xff0c;它可以执行Java字节码。Java虚拟机是Java平台的一部分&#xff0c;Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...

【SpringBoot自动化部署】

SpringBoot自动化部署方法 使用Jenkins进行持续集成与部署 Jenkins是最常用的自动化部署工具之一&#xff0c;能够实现代码拉取、构建、测试和部署的全流程自动化。 配置Jenkins任务时&#xff0c;需要添加Git仓库地址和凭证&#xff0c;设置构建触发器&#xff08;如GitHub…...

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...

通过MicroSip配置自己的freeswitch服务器进行调试记录

之前用docker安装的freeswitch的&#xff0c;启动是正常的&#xff0c; 但用下面的Microsip连接不上 主要原因有可能一下几个 1、通过下面命令可以看 [rootlocalhost default]# docker exec -it freeswitch fs_cli -x "sofia status profile internal"Name …...

【FTP】ftp文件传输会丢包吗?批量几百个文件传输,有一些文件没有传输完整,如何解决?

FTP&#xff08;File Transfer Protocol&#xff09;本身是一个基于 TCP 的协议&#xff0c;理论上不会丢包。但 FTP 文件传输过程中仍可能出现文件不完整、丢失或损坏的情况&#xff0c;主要原因包括&#xff1a; ✅ 一、FTP传输可能“丢包”或文件不完整的原因 原因描述网络…...

解析两阶段提交与三阶段提交的核心差异及MySQL实现方案

引言 在分布式系统的事务处理中&#xff0c;如何保障跨节点数据操作的一致性始终是核心挑战。经典的两阶段提交协议&#xff08;2PC&#xff09;通过准备阶段与提交阶段的协调机制&#xff0c;以同步决策模式确保事务原子性。其改进版本三阶段提交协议&#xff08;3PC&#xf…...