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

SpringBoot 常用注解详解(附代码示例)

在 SpringBoot 开发中注解是最核心的部分。 通过注解可以实现自动配置、依赖注入、接口开发、数据库操作等功能。下面按照实际开发使用频率进行分类讲解。一、SpringBoot 启动类注解1. SpringBootApplication这是SpringBoot 项目的核心注解。作用它其实是三个注解的组合SpringBootConfiguration EnableAutoConfiguration ComponentScan作用启动 SpringBoot自动配置项目扫描组件代码示例SpringBootApplication public class DemoApplication { ​ public static void main(String[] args) { ​ SpringApplication.run(DemoApplication.class, args); ​ } ​ }运行后SpringBoot启动 内置Tomcat启动 项目运行二、控制层 Controller 注解Controller 是前端请求的入口。1. Controller用于定义控制器类。主要用于返回页面HTML。Controller public class PageController { ​ RequestMapping(/hello) public String hello(){ ​ return hello; ​ } ​ }返回hello.html2. RestController这是开发前后端分离项目最常用的注解。相当于Controller ResponseBody作用直接返回JSON数据。RestController public class TestController { ​ RequestMapping(/test) public String test(){ ​ return hello springboot; ​ } ​ }访问http://localhost:8080/test返回hello springboot3. RequestMapping用于定义接口访问路径。RestController RequestMapping(/user) public class UserController { ​ RequestMapping(/list) public String list(){ ​ return 用户列表; ​ } ​ }访问地址http://localhost:8080/user/list4. GetMapping表示GET请求。GetMapping(/hello) public String hello(){ ​ return hello; ​ }等价于RequestMapping(value/hello,methodRequestMethod.GET)5. PostMapping表示POST请求。PostMapping(/login) public String login(){ ​ return 登录成功; ​ }6. PutMapping表示更新数据。PutMapping(/update) public String update(){ ​ return 更新成功; ​ }7. DeleteMapping表示删除数据。DeleteMapping(/delete) public String delete(){ ​ return 删除成功; ​ }三、参数接收注解1. RequestParam用于接收URL参数。例如http://localhost:8080/user?id1代码GetMapping(/user) public String getUser(RequestParam int id){ ​ return 用户ID id; ​ }2. PathVariable用于接收路径参数。例如http://localhost:8080/user/1代码GetMapping(/user/{id}) public String getUser(PathVariable int id){ ​ return 用户ID id; ​ }3. RequestBody用于接收JSON数据。Vue发送axios.post(/login,{ username:admin, password:123456 })后端接收PostMapping(/login) public String login(RequestBody User user){ ​ return user.getUsername(); ​ }四、依赖注入注解Spring最重要的概念就是IOC控制反转。1. Autowired自动注入对象。Service public class UserService { ​ public String test(){ ​ return service; ​ } ​ }ControllerRestController public class UserController { ​ Autowired private UserService userService; ​ GetMapping(/test) public String test(){ ​ return userService.test(); ​ } ​ }2. Component将类交给Spring管理。Component public class TestComponent { ​ }Spring启动时会自动创建对象。3. Service用于标识业务层。Service public class UserService { ​ }4. Repository用于数据访问层。Repository public class UserDao { ​ }五、MyBatis 相关注解如果项目使用MyBatis操作数据库常用以下注解。1. Mapper标识数据库Mapper接口。Mapper public interface UserMapper { ​ }2. Select查询数据。Select(select * from user) ListUser findAll();3. Insert插入数据。Insert(insert into user(username,password) values(#{username},#{password})) void insert(User user);4. Update更新数据。Update(update user set password#{password} where id#{id}) void update(User user);5. Delete删除数据。Delete(delete from user where id#{id}) void delete(int id);六、跨域注解当前端和后端端口不同会出现跨域问题。例如Vue: 5173 SpringBoot: 8080解决方法CrossOriginCrossOrigin RestController public class UserController { ​ }允许跨域请求。七、配置类注解1. Configuration表示配置类。Configuration public class AppConfig { ​ }2. Bean用于创建Spring Bean对象。Bean public User user(){ ​ return new User(); ​ }八、总结SpringBoot 常见注解可以分为几类分类常用注解启动类SpringBootApplication控制层RestController、RequestMapping请求方式GetMapping、PostMapping参数接收RequestParam、PathVariable、RequestBody依赖注入Autowired、Service数据库Mapper、Select跨域CrossOrigin配置Configuration、Bean

相关文章:

SpringBoot 常用注解详解(附代码示例)

在 SpringBoot 开发中,注解是最核心的部分。 通过注解可以实现 自动配置、依赖注入、接口开发、数据库操作等功能。下面按照 实际开发使用频率进行分类讲解。一、SpringBoot 启动类注解1. SpringBootApplication这是 SpringBoot 项目的核心注解。作用:它…...

FireRedASR-AED-L模型Anaconda虚拟环境配置最佳实践

FireRedASR-AED-L模型Anaconda虚拟环境配置最佳实践 如果你正在研究语音识别,尤其是基于AED(Attention-based Encoder-Decoder)架构的模型,那么FireRedASR-AED-L模型很可能在你的待尝试清单里。不过,在跑通第一个Demo…...

Qwen3助力C语言教学:将抽象概念转化为可视化黑板报图解

Qwen3助力C语言教学:将抽象概念转化为可视化黑板报图解 你是不是也曾经对着C语言教材里那些关于指针、内存地址、链表结构的文字描述,感觉像在看天书?明明每个字都认识,连在一起却怎么也想象不出它到底在内存里是个什么样子。这种…...

MiniCPM-V-2_6嵌入式视觉应用实战:基于STM32F103C8T6的图像处理方案

MiniCPM-V-2_6嵌入式视觉应用实战:基于STM32F103C8T6的图像处理方案 最近在捣鼓一些嵌入式项目,发现一个挺有意思的事儿:现在很多智能硬件,比如智能门锁、工业质检设备,都想加上“眼睛”,也就是视觉识别功…...

20元玩客云打造全能服务器:LibreTV+远程唤醒+Docker保姆级配置指南

20元玩客云打造全能服务器:LibreTV远程唤醒Docker保姆级配置指南 在智能硬件玩家圈里,玩客云OneCloud早已成为性价比的代名词。这台原本设计用于区块链挖矿的设备,凭借其ARM架构的低功耗特性和完整的Linux系统支持,正在被越来越多…...

Thinkphp和Laravel框架都支持基于微信小程序的在线投票系统设计-

目录技术选型与框架对比数据库设计微信小程序端实现后端API开发安全与性能优化部署与测试项目技术支持可定制开发之功能创新亮点源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作技术选型与框架对比 ThinkPHP和Laravel均为成熟的PHP框架&…...

STM32开发者必看:用J-Link RTT实现彩色日志输出(附代码示例)

STM32调试革命:J-Link RTT彩色日志全攻略 1. 嵌入式调试的痛点与RTT的崛起 调试信息输出一直是嵌入式开发中不可或缺的环节。传统方式通常依赖于串口打印,这种方式虽然简单直接,但也存在诸多限制:需要占用额外的硬件资源&#x…...

Gofile文件下载工具实战指南:从效率痛点到自动化解决方案

Gofile文件下载工具实战指南:从效率痛点到自动化解决方案 【免费下载链接】gofile-downloader Download files from https://gofile.io 项目地址: https://gitcode.com/gh_mirrors/go/gofile-downloader 在数字化工作流中,文件下载往往是最容易被…...

基于SpringBoot+Vue的城市垃圾分类管理系统管理系统设计与实现【Java+MySQL+MyBatis完整源码】

摘要 随着城市化进程的加速和居民生活水平的提升,城市垃圾产量逐年攀升,传统的垃圾处理方式已难以满足环保和可持续发展的需求。垃圾分类管理成为现代城市治理的重要课题,亟需借助信息化手段提升管理效率。当前许多城市的垃圾分类仍依赖人工监…...

智能文献管理策略:解析六种AI辅助论文引用生成方案

核心工具对比速览 工具名称 核心优势 适用场景 处理速度 AiBiye 智能识别引用格式,自动匹配规范 学术论文初稿 3-5秒/页 AiCheck 深度检测引用缺失,精准定位问题 论文终稿检查 10秒/篇 AskPaper 多语言引用规范支持 国际期刊投稿 5-8秒/页…...

TreeSet |TreeMap|jar包|web包易混淆解答

刷牛客网机试题常见疑惑1 TreeSet是啥?TreeMap又是啥?这俩有啥用?两者都是基于红黑树,那红黑树又是啥?红黑树是一个自平衡的二叉查找树,遍历红黑树就会得到一个升序序列。在实际处理问题中,Set&…...

SAM 3视频分割应用:安防监控中人员/车辆轨迹追踪与区域掩码叠加分析

SAM 3视频分割应用:安防监控中人员/车辆轨迹追踪与区域掩码叠加分析 1. 引言:当监控视频“看懂”了世界 想象一下这个场景:一个大型商场的安保中心,墙上挂满了监控屏幕。值班人员需要时刻盯着屏幕,手动标记可疑人员的…...

智慧树课程自动化学习:高效工具实用指南

智慧树课程自动化学习:高效工具实用指南 【免费下载链接】zhihuishu 智慧树刷课插件,自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 一、问题引入:网课学习的隐形效率损耗 ⏳ 当你每天需要…...

SketchUp STL插件:数字模型与3D打印的无缝衔接解决方案

SketchUp STL插件:数字模型与3D打印的无缝衔接解决方案 【免费下载链接】sketchup-stl A SketchUp Ruby Extension that adds STL (STereoLithography) file format import and export. 项目地址: https://gitcode.com/gh_mirrors/sk/sketchup-stl 一、功能特…...

ContextCapture控制点选择黄金法则:从墙角定位到影像极线校准的6个关键细节

ContextCapture控制点选择黄金法则:从墙角定位到影像极线校准的6个关键细节 在无人机航测领域,控制点的选择与布设直接影响着最终模型的精度与可靠性。许多新手往往将注意力集中在后期处理软件的操作上,却忽视了前期控制点选择这一关键环节。…...

华为防火墙URL过滤实战:基于VLAN的精细化黑白名单配置

1. 企业内网访问控制的痛点与解决方案 现代企业网络环境中,不同部门往往需要差异化的上网权限。比如物流部门只需要访问快递查询网站,而客服部门可能需要禁止视频网站以提升工作效率。这种精细化的访问控制需求,正是华为防火墙URL过滤功能的用…...

Chord视频理解工具实现Python爬虫数据智能处理:自动化采集与清洗

Chord视频理解工具实现Python爬虫数据智能处理:自动化采集与清洗 1. 引言 在当今信息爆炸的时代,视频内容已成为网络信息的重要组成部分。新闻媒体每天需要监控数百个视频源,舆情分析团队要处理海量的视频数据,内容创作者需要从…...

Qwen3-TTS-1.7B效果展示:葡萄牙语足球解说+意大利语美食节目主持风格

Qwen3-TTS-1.7B效果展示:葡萄牙语足球解说意大利语美食节目主持风格 声音克隆:Qwen3-TTS-12Hz-1.7B-Base 今天带大家体验一个让我惊艳的语音合成模型——Qwen3-TTS-1.7B。这个模型最厉害的地方是能说10种主要语言,包括中文、英文、日文、韩文…...

避坑指南:Milvus 2.3.1单机版部署常见问题排查(ETCD/MinIO配置详解)

Milvus 2.3.1单机版部署避坑手册:ETCD与MinIO配置深度解析 在向量数据库领域,Milvus凭借其出色的性能和易用性已经成为众多AI应用的首选存储方案。然而在实际部署过程中,即使是单机版环境,ETCD和MinIO这两个核心依赖组件的配置问题…...

旧手机电池重生记:基于IP5306与SX1308的4.35V便携补光灯移动电源DIY

旧手机电池重生记:基于IP5306与SX1308的4.35V便携补光灯移动电源DIY 大家抽屉里是不是都躺着几部旧手机?手机虽然淘汰了,但里面的锂电池往往还有“一战之力”,容量可能还有七八成。直接扔掉太可惜,也不环保。最近我就琢…...

大模型训练中的通信原语实战:从Broadcast到All-Reduce的保姆级解析

大模型训练中的通信原语实战:从Broadcast到All-Reduce的保姆级解析 在当今AI领域,大模型训练已成为推动技术进步的核心动力。随着模型参数规模从亿级迈向万亿级,单机训练早已无法满足需求,分布式训练成为必选项。而分布式训练的核…...

Phi-3-vision-128k-instruct SpringBoot Admin监控面板增强:AI解读系统健康图表

Phi-3-vision-128k-instruct SpringBoot Admin监控面板增强:AI解读系统健康图表 1. 场景痛点:传统监控的局限性 运维团队每天需要面对大量监控图表,但人工分析效率低下且容易遗漏关键指标。SpringBoot Admin虽然提供了丰富的监控数据可视化…...

Qwen3-14b_int4_awq开源可审计:全部部署脚本、配置文件、前端代码均开放可查

Qwen3-14b_int4_awq开源可审计:全部部署脚本、配置文件、前端代码均开放可查 1. 模型简介 Qwen3-14b_int4_awq是基于Qwen3-14b模型的int4量化版本,采用AngelSlim技术进行压缩优化,专门用于高效文本生成任务。该版本通过先进的AWQ&#xff0…...

LaTeX环境设计进阶:从\fbox到minipage,手把手教你封装复杂排版效果

LaTeX环境设计进阶:从\fbox到minipage,手把手教你封装复杂排版效果 在学术写作和技术文档创作中,LaTeX以其卓越的排版质量和稳定性成为专业人士的首选工具。然而,当我们需要实现超出基础排版的复杂视觉效果时,比如代码…...

Docker Compose一键部署Milvus单机版(附Attu可视化工具)

1. 环境准备与前置条件 在开始部署Milvus单机版之前,我们需要确保本地开发环境满足基本要求。我建议使用Ubuntu 20.04或CentOS 7以上版本的操作系统,这两个发行版对Docker的支持最为完善。实测下来,Windows系统通过WSL2也能运行,但…...

老旧笔记本升级值不值?华硕A456U换固态+光驱改机械硬盘的真实性能测试

老旧笔记本性能重生指南:华硕A456U硬件升级全解析 当你的笔记本电脑开始出现卡顿、响应迟缓时,先别急着把它扔进垃圾桶。以华硕A456U为例,这台服役近十年的机器通过合理的硬件升级,完全有可能重获新生。本文将带你深入探讨老旧笔记…...

美国亚太部署是“撤退”还是“重配”?

当我们都在关注美国从日韩“抽调”军事力量时,一个逆向问题值得追问:抽调的同时,美国是否仍在强化亚太部署?这两者是矛盾,还是同一战略的两面? 答案是:既是“拆东墙”,也是“砌新墙”。 美国正在重新配置其亚太军事资产——从中日韩等传统核心基地,向菲律宾等“外环”…...

3个核心功能解决多平台直播推流痛点:OBS Multi RTMP插件实战指南

3个核心功能解决多平台直播推流痛点:OBS Multi RTMP插件实战指南 【免费下载链接】obs-multi-rtmp OBS複数サイト同時配信プラグイン 项目地址: https://gitcode.com/gh_mirrors/ob/obs-multi-rtmp 在多平台内容分发成为主流的今天,内容创作者面临…...

API管理工具——五款主流方案的场景化解读与对照

API(应用程序编程接口)作为现代软件架构的“连接件”,其集成与管理能力已从单纯的技术工具演变为企业核心竞争力的关键组成部分。然而,面对市场上理念不同、功能各异的API集成平台,技术决策者往往陷入选择困境&#xf…...

Zepp Life步数自动化同步工具:从技术实现到场景落地的全方位指南

Zepp Life步数自动化同步工具:从技术实现到场景落地的全方位指南 【免费下载链接】mimotion 小米运动刷步数(微信支付宝)支持邮箱登录 项目地址: https://gitcode.com/gh_mirrors/mimo/mimotion 引导语:重新定义健康数据管…...