当前位置: 首页 > 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 配置,并且提供了很多便捷的注解来快速构建应用

http://www.lryc.cn/news/536158.html

相关文章:

  • springboot021校园周边美食探索及分享平台
  • 【网络通信】传输层之UDP协议
  • Python环境搭建与量化交易开发:从基础到实战
  • 软著申请(六)软著返修流程【2025年最新版】
  • SOUI基于Zint生成Code11码
  • sqlilabs第八关
  • 基于HAL库的按钮实验
  • DeepSeek 突然来袭,AI 大模型变革的危机与转机藏在哪?
  • prompt技术结合大模型 生成测试用例
  • 【C++ 真题】P2920 [USACO08NOV] Time Management S
  • pip安装指定版本的包
  • 【pytest】获取所有用例名称并存于数据库
  • Java中原子操作的实现原理
  • 25农村发展研究生复试面试问题汇总 农村发展专业知识问题很全! 农村发展复试全流程攻略 农村发展考研复试真题汇总
  • 一维前缀和与二维前缀和
  • 3×2 MIMO系统和2×2 MIMO系统对比
  • 【MySQL — 数据库基础】深入解析 MySQL 的联合查询
  • 【医院运营统计专题】3.解码医院运营统计:目标、原则与未来蓝图
  • Ubuntu 下 nginx-1.24.0 源码分析 - ngx_atomic_cmp_set 函数
  • CNN-BiLSTM卷积神经网络双向长短期记忆神经网络多变量多步预测,光伏功率预测
  • 【YOLO系列】YOLOv5 NMS源码理解、更换为DIoU-NMS
  • Android RenderEffect对Bitmap高斯模糊(毛玻璃),Kotlin(1)
  • 【linux学习指南】线程同步与互斥
  • JavaScript函数与方法详解
  • 【论文笔记】ZeroGS:扩展Spann3R+GS+pose估计
  • AtCoder - arc058_d Iroha Loves Strings解答与注意事项
  • 企业使用统一终端管理(UEM)工具提高端点安全性
  • Leetcode 算法题 9 回文数
  • 设计模式Python版 命令模式(上)
  • C语言之循环结构:直到型循环