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

SpringBoot常用注解解析汇总

一、核心注解

  1. @SpringBootApplication

    • 作用:标注主启动类,是 Spring Boot 的核心注解。

    • 组合注解:包含 @Configuration@EnableAutoConfiguration 和 @ComponentScan

    • 用途:启动 Spring Boot 应用。


二、依赖注入(IoC)

  1. @Autowired

    • 作用:自动注入 Bean,按类型匹配依赖。

    • 场景:用于构造方法、Setter 方法或字段。

  2. @Component

    • 作用:通用组件注解,标记类为 Spring Bean。

    • 衍生注解

      • @Service:业务逻辑层。

      • @Repository:数据访问层(DAO)。

      • @Controller:Web 控制层。

  3. @Configuration

    • 作用:声明配置类,定义 Bean。

    • 配合:与 @Bean 一起使用,显式配置 Bean。

  4. @Bean

    • 作用:在配置类中定义 Bean,方法返回值作为 Bean 实例。


三、Web 控制层(MVC)

  1. @RestController

    • 作用:组合 @Controller + @ResponseBody,直接返回 JSON/XML 数据。

  2. @RequestMapping

    • 作用:映射 HTTP 请求路径,支持 method 指定请求类型(如 GET/POST)。

    • 简化注解

      • @GetMapping:处理 GET 请求。

      • @PostMapping:处理 POST 请求。

      • @PutMapping@DeleteMapping 等。

  3. @RequestParam

    • 作用:绑定 HTTP 请求参数到方法参数,支持默认值和必填校验。

    • 示例/user?id=123 → @RequestParam("id") String userId

  4. @PathVariable

    • 作用:绑定 URL 路径变量到方法参数。

    • 示例/user/{id} → @PathVariable("id") String id

  5. @RequestBody

    • 作用:将 HTTP 请求体(如 JSON)反序列化为 Java 对象。

  6. @ResponseBody

    • 作用:将方法返回值序列化为 JSON/XML 响应体。

  7. @CrossOrigin

    • 作用:允许跨域请求(CORS),配置在类或方法上。


四、配置与属性

  1. @Value

    • 作用:注入配置文件中的属性值。

    • 示例@Value("${app.name}") private String appName;

  2. @ConfigurationProperties

    • 作用:批量绑定配置文件属性到 Java 对象。

    • 配合@EnableConfigurationProperties 启用。

  3. @PropertySource

    • 作用:加载自定义配置文件(如 config.properties)。


五、数据访问(JPA)

  1. @Entity

    • 作用:标记类为 JPA 实体,对应数据库表。

  2. @Table

    • 作用:指定实体对应的数据库表名(默认按类名映射)。

  3. @Id

    • 作用:标注实体类的主键字段。

  4. @GeneratedValue

    • 作用:定义主键生成策略(如自增、UUID 等)。

  5. @Repository

    • 作用:标记数据访问层接口(如继承 JpaRepository)。

  6. @Transactional

    • 作用:声明事务管理,通常用于 Service 层方法。


六、AOP 与 切面编程

  1. @Aspect

    • 作用:声明切面类,用于实现日志、权限等横切关注点。

  2. @Before / @After / @Around

    • 作用:定义切面通知类型(前置、后置、环绕等)。

    • 示例@Before("execution(* com.example.service.*.*(..))")


七、测试

  1. @SpringBootTest

    • 作用:标记 Spring Boot 集成测试类,加载完整应用上下文。

  2. @Test

    • 作用:标记 JUnit 测试方法。


八、其他常用注解

  1. @Valid

    • 作用:触发参数校验(需配合 javax.validation 注解如 @NotNull)。

  2. @Scheduled

    • 作用:声明定时任务方法(需在启动类加 @EnableScheduling)。

  3. @ConditionalOnProperty

    • 作用:根据配置条件决定是否创建 Bean(条件化配置)。

  4. @ControllerAdvice

    • 作用:全局异常处理,统一拦截控制器异常。

http://www.xdnf.cn/news/2449.html

相关文章:

  • 基础学习:(9)vit -- vision transformer 和其变体调研
  • 03 基于 STM32 的温度控制系统
  • vscode eslint与vue-official冲突,导致点击的时候鼠标不会变成手型,一直在加载,但是不转到相应方法。
  • 二进制补码:给补码求原码
  • vue3中ref在js中为什么需要.value才能获取/修改值?
  • 智能文档抽取技术发展前沿与应用
  • Linux Socket编程:从API到实战
  • 模型删除层后重建
  • Go语言入门:目录与链接
  • EKS环境下服务重启50X错误
  • 企业架构之旅(1):TOGAF 基础入门
  • 【Arxiv 2025】Single Image Iterative Subject-driven Generation and Editing
  • 小黑享受思考心流: 73. 矩阵置零
  • 《全球反空间能力》报告翻译——部分1
  • CISA、项目管理、信息系统项目等等电子书资料
  • ComfyUI for Windwos与 Stable Diffusion WebUI 模型共享修复
  • LeetCode热题100--438.找到字符串中所有字母异位词--中等
  • ISIS的由于L1产生的一系列问题
  • 实验:串口通信
  • 02.02、返回倒数第 k 个节点
  • 2 商户查询缓存
  • 设计一个食品种类表
  • 【算法】回溯法
  • 【锂电池剩余寿命预测】Transformer锂电池剩余寿命预测(Pytorch完整源码和数据)
  • 攻击 WordPress 目标的 5 种方法
  • AtCoder Beginner Contest 242 G - Range Pairing Query (莫队)
  • 解锁现代生活的健康密码
  • 杨洋出席青岛啤酒白啤品牌活动 共赴生活美学之旅
  • 2025年应用物理与电子电气国际会议(IACSEM 2025)
  • 【Code Sprint】第一章 从零开始