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

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

zonemu3个月前 (07-16)技术文章29

为什么同样用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干货技巧!

相关文章

2020年最漂亮的7个Linux发行版(最受欢迎的linux发行版)

请关注本头条号,每天坚持更新原创干货技术文章。如需学习视频,请在微信搜索公众号“智传网优”直接开始自助视频学习1. 前言对于想学习Linux的朋友们,心中一定有疑问,哪个Linux版本比较好入门,Li...

vue:组件中之间的传值(vue组件之间传参)

一、父子组件之间的传值----props/$emit1、父组件向子组件传值--props2.子组件想父组件传值-this.$emit('select',item)二、父组件向下(深层)...

如何使用git clone克隆包含子模块的仓库

技术背景在软件开发中,当项目规模逐渐增大时,为了更好地管理代码,我们常常会使用子模块将项目拆分成多个独立的部分。Git 作为目前最流行的版本控制系统,提供了管理子模块的功能。但在克隆包含子模块的仓库时...

VIM配置整理(vim配置教程)

一、基本配色set number set showcmd set incsearch set expandtab set showcmd set history=400 set autoread se...

小白友好型Windows优化工具BoosterX使用教程 一键提升游戏性能

一款集系统优化和游戏优化为一体的Windows友好型优化工具,BoosterX得到过众多游戏玩家的推荐,它能简单、快速、安全地优化Windows,就算设置出错还能通过备份还原设置。它还提供了一款精简版...

最快清除数组空值?分享 1 段优质 JS 代码片段!

本内容首发于工粽号:程序员大澈,每日分享一段优质代码片段,欢迎关注和投稿!大家好,我是大澈!本文约 600+ 字,整篇阅读约需 1 分钟。今天分享一段优质 JS 代码片段,用最简洁的代码清除了数组中的...