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

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

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

相关文章:

  • 吴恩达深度学习作业之风格转移Neural Style Transfer (pytorch)
  • Python生活手册-元组:保险柜与瑞士军刀
  • 深度学习新趋势:利用MLP取代卷积层——S2-MLPv2模型解析
  • DBeaver连接人大金仓数据库
  • 2025年度规划八步法:日事清目标管理+使命愿景模型驱动组织架构优化与业务流程升级
  • 虚拟列表+无限滚动的实现
  • Java自定义注解详解
  • RT Thread Studio创建USB虚拟串口工程
  • 设计一个食品种类表
  • 黑马点评redis改 part 6
  • Spring AOP思想与应用详解
  • 0804标星_复制_删除-网络ajax请求2-react-仿低代码平台项目
  • 量子力学:量子通信
  • 基于javaweb的SpringBoot在线电子书小说阅读系统设计与实现(源码+文档+部署讲解)
  • 收藏按钮变色问题
  • 基于物理信息的神经网络在异常检测Anomaly Detection中的应用:实践指南
  • 猿人学web端爬虫攻防大赛赛题第19题——乌拉乌拉乌拉
  • Java练习1
  • Java 设计模式心法之第26篇 - 解释器 (Interpreter) - 构建领域特定语言的解析引擎
  • 用Python做有趣的AI项目 2【进阶版】:智能聊天机器人 v2(NLTK + 规则引擎)
  • 第一集丨《无尽的尽头》值得关注,《榜上佳婿》平平无奇
  • 以军称若停火谈判无进展,将大幅扩大加沙军事行动
  • 新希望去年归母净利润4.74亿同比增逾九成,营收降27%
  • 经济日报金观平:充分发挥增量政策的经济牵引力
  • 财政部、证监会:加强对会计师事务所从事证券服务业务的全流程监管
  • 海关总署牵头部署开展跨境贸易便利化专项行动