当前位置:首页 > 技术文章 > 正文内容

SpringBoot注解全攻略:这些注解让你的代码更专业!

zonemu12小时前技术文章3

为什么同样用SpringBoot,你的代码总显得“差点意思”? 可能你还没吃透这些核心注解!本文整理SpringBoot最实用、最高频的注解,助你写出优雅高效的代码。

一、核心启动注解:@SpringBootApplication

这是SpringBoot的“心脏注解”,标注在主启动类上。它融合了三大功能:

1. @Configuration:声明当前类是配置类,可替代XML配置文件

2. @EnableAutoConfiguration:启用自动配置,根据依赖智能配置组件(例如自动配数据源)

3. @ComponentScan:自动扫描当前包及子包下的组件(如@Service、@Controller)

二、Bean声明注解:分层开发必备

Spring通过注解管理对象生命周期,常用组件注解:

- @Component:通用组件注解,标注任意类为Spring管理的Bean

- @Service:业务逻辑层组件,处理核心业务

- @Repository:数据访问层组件,用于数据库操作(自带异常转译)

- @Controller/@RestController:控制层组件,处理HTTP请求

- `@Controller` + `@ResponseBody` = `@RestController`(直接返回JSON)

三、Web开发注解:RESTful接口神器

注解

作用

示例路径

@GetMapping

处理GET请求(查询数据)

`/users/{id}`

@PostMapping

处理POST请求(新增数据)

`/users`

@PutMapping

处理PUT请求(更新数据)

`/users/{id}`

@DeleteMapping

处理DELETE请求(删除数据)

`/users/{id}`

@RequestBody

接收JSON请求体 → 绑定Java对象

`createUser(@RequestBody User user)`

@PathVariable

获取URL路径参数

`/users/{id}` → `@PathVariable Long id`

@RequestParam

获取URL查询参数

`?name=Guide` → `@RequestParam String name`

四、依赖注入注解:解耦利器

- @Autowired:按类型自动装配Bean(Spring提供)

- @Resource:按名称装配Bean(JDK提供)

- @Qualifier:解决同类型多个Bean的冲突,指定Bean名称

五、配置管理注解:告别硬编码

1. @Value:直接注入配置值(适用于简单属性)

2. @ConfigurationProperties:批量绑定配置文件 → Java对象(推荐复杂配置)

六、校验注解:守护数据安全

在接收参数时进行自动校验,避免非法数据入库:

- @Valid:触发参数校验规则

- @NotNull:禁止为null

- @Size(min=2, max=10):字符串/集合长度校验

- @Email:邮箱格式校验

- @Pattern(regexp = "^1[3-9]\\d{9}#34;):正则匹配(如手机号)

注解不是越多越好,关键是用对地方!

据统计,合理使用`@ConfigurationProperties`替代大量`@Value`,可减少30%配置代码;善用`@RestController`能提升前后端协作效率50%。


掌握这些注解,你的SpringBoot代码将更简洁、更健壮、更专业!关注我,解锁更多Java干货技巧!

相关文章

宽带客户收费管理系统--维修版(宽带售后服务)

宽带客户收费管理系统--维修版headerfooter《宽带客户收费管理系统——维修版》是一款适合宽带运营商使用的管理系统。软件主要包括以下功能:1.主要功能包括用户开户、收费录入、工单登记、故障处理...

Linux 发行版介绍 Zenwalk Linux(linux发行版2021)

Zenwalk Linux是基于Slackware的GNU/Linux发行版, 100%兼容Slackware。 致力于精简和快捷的图形桌面及多媒体使用。包含整套编程环境和运行库,还提供了常用服务器套...

2024年10 大 Linux 桌面发行版推荐

年已过半,现在是探究 2024 年最流行的 Linux 发行版的最佳时机。Linux 是一个开源操作系统,构建在 Linux 内核上,并集成了 GNU shell 实用程序、桌面环境、应用程序、包管理...

Garuda Linux:现代化、注重性能与美观的Linux发行版

什么是 Garuda Linux?Garuda Linux 是一个基于 Arch Linux 的现代化、注重性能与美观的桌面操作系统。它面向对性能有较高要求的用户,尤其受到 Linux 爱好者、游戏玩...

10个实例小练习,快速入门熟练 Vue3 核心新特性(一)

作者:xuying 全栈修炼转发链接:https://mp.weixin.qq.com/s/_n2seDbbiO5hXQfuUGbUCQ前言Vue3.0 发 beta 版都有一段时间了,正式版也不远了...

迁移GIT仓库并带有历史提交记录(git 迁移仓库)

迁移git仓库开发在很多时候,会遇到一个问题。GIT仓库的管理,特别是仓库的迁移。我需要保留已有的历史记录,而不是重新开发,重头再来。我们可以这样做:使用--mirror模式会把本地的分支都克隆。//...