初识Spring Boot:构建项目结构与组件解析

目录

前言
第一点:项目的结构
第二点:controller类的创建与使用(构造器)
第二点:service类的创建与使用(逻辑层)
第三点:Mapper类的创建与使用(数据操作)
总结

前言

在进行Spring Boot项目开发时,良好的项目结构和合理的组件划分是十分重要的。本文将介绍如何根据功能模块和职责划分文件夹,并解释在项目中创建和使用controllerservicemapper等重要组件的方法。 


考虑到小白不会标准的创建springboot文件,我专门写了一篇讲解文章:点击跳转

第一点:项目的结构

我一般在项目中创建以下文件夹,来区分每个模块

1.controller文件:控制器负责处理用户请求,并返回响应,充当了前端与后端之间的桥梁

2.service文件:服务层,用于逻辑的书写,如登录注册

3.entity文件:实体类,通常映射到数据库中的表,每个实体类对应一个数据库表

4.mapper文件:用于定义SQL查询和实体类之间的映射

5.exception文件:异常处理,自定义异常类可以提供更详细的错误信息

6.common文件:存放一些通用的工具类、常量、配置

7.utils文件:通常用来存放一些公共的工具类或方法

就重要的就是controller,service,mapper文件夹了,下面我会进行讲解

第二点:controller类的创建与使用(构造器)

1.创建一个WebController类

2.写下以下代码

@RestController     //解释成一个返回数据返回结构的构造器
public class WebController {//默认路径为localhost:8080@RequestMappingpublic Result hello(){return Result.success("hello!");}}

简单理解就是:当收到localhost:8080路径的HTTP请求时,WebController类中的hello()方法会被调用,返回一个包含字符串“hello!”的成功的结果。

第二点:service类的创建与使用(逻辑层)

1.在WebController.java里添加代码

@RestController     //解释成一个返回数据返回结构的构造器
public class WebController {@Autowired //示将UserService类的实例自动注入到UserController类中UserService userService;//默认路径为localhost:8080@RequestMappingpublic Result hello(){//调用service层的方法String message=userService.getMsg();return Result.success("hello!");}
}

2.创建WebSercie类文件

3.编辑代码:

@Service
public class UserService {public String getMsg() {//创建随机数Random random = new Random();//获取随机数int randomNumber = random.nextInt();if(randomNumber>0){return "数值大于0";}else{return "数值等于0";}}
}

代码意思:getMsg()方法通过实例化Random类产生一个随机数,然后根据随机数的大小返回相应的字符串。

第三点:Mapper类的创建与使用(数据操作)

创建WebMapper接口文件

写一个搜索数据库所有数据的代码

@Mapper
public interface UserMapper {@Select("select * from user")User selectById(User user);}

数据库得自己创建和链接哦

想要详细得教材可以看我置顶文章:在这篇文章中我有详细的解释和步骤,点击跳转


总结

通过本文的讲解,读者可以了解到如何按照一定的规范创建Spring Boot项目的文件结构,包括controller负责处理用户请求,service处理业务逻辑,mapper用于数据操作等关键文件夹的作用。同时,我们也详细地演示了如何编写简单的代码来实现基本的功能,例如根据请求返回不同的数据、创建随机数等。希望本文能够帮助读者更好地理解和应用Spring Boot框架,提升项目开发效率和代码质量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/19539.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【稳定检索】2024年心理学与现代化教育、媒体国际会议(PMEM 2024)

2024年心理学与现代化教育、媒体国际会议 2024 International Conference on Psychology and Modern Education and Media 【1】会议简介 2024年心理学与现代化教育、媒体国际会议即将召开,这是一场汇聚全球心理学、教育及媒体领域精英的学术盛宴。 本次会议将深入探…

目前最强的AI绘画工具 DALL-E、Stable Diffusion 和 Midjourney工具对比

大家好,我是AIGC的实践者SKY,今天和大家来聊聊DALL-E、Stable Diffusion和Midjourney。 随着人工智能技术的飞速发展,艺术生成工具如DALL-E、Stable Diffusion和Midjourney等,已经成为创意产业的新宠。这些工具利用深度学习算法&…

618适合入手哪些数码好物?实用数码好物清单分享,错过拍烂大腿!

在一年一度的618购物狂欢节里,许多数码爱好者们都在这次盛大的购物盛宴中觅得心仪的数码好物,数码产品不仅改变了我们的生活方式,更让我们享受到了前所未有的便捷和乐趣,那么在这个618,哪些数码好物值得我们入手呢&…

Java实战入门:深入解析Java中的`String.split`方法

文章目录 一、方法定义参数说明返回值 二、使用场景三、实现原理无限制分割限制分割 四、示例代码示例一:基本分割示例二:使用正则表达式分割示例三:限制分割次数示例四:保留空字符串 五、注意事项六、总结 在Java编程中&#xff…

oracle中的INTERVAL函数学习总结

Oracle 从9i数据库开始引入了一种新特性,可以用来存储时间间隔,出现了INTERVAL 函数。这个函数的表达式比较多,初学比较费劲不好掌握,经过以几个小时的查阅资料和实验,总结如下: interval year t…

python绘制北京汽车流量热力图:从原理到实践

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、引言 二、热力图绘制原理 三、热力图绘制实践 1. 数据准备 2. 地图组件选择 3. 数据…

建WordPress主题官网模板

蓝色的中文WordPress企业模板 https://www.zhanyes.com/qiye/6305.html 暗红色WordPress律师事务所网站模板 https://www.zhanyes.com/qiye/23.html 红色大banner图WordPress外贸网站模板 https://www.zhanyes.com/waimao/27.html

通过 CXCR4 靶向纳米线修补细胞表面以抑制癌症转移

引用信息 文 章:Cell surface patching via CXCR4-targeted nanothreads for cancer metastasis inhibition. 期 刊:Nature Communications(影响因子:16.6) 发表时间:2024/3/29 作 者&#xff1…

HttpSecurity 是如何组装过滤器链的

有小伙伴们问到这个问题,简单写篇文章和大伙聊一下。 一 SecurityFilterChain 首先大伙都知道,Spring Security 里边的一堆功能都是通过 Filter 来实现的,无论是认证、RememberMe Login、会话管理、CSRF 处理等等,各种功能都是通…

virtual cache基本概念

Virtual cache的引入 TLB只是加速了从虚拟地址到物理地址的转换,可以很快地得到所需要的数据(或指令)在物理内存中的位置,也就是得到了物理地址但是,如果直接从物理内存中取数据(或置指令),显然也是很慢的,因此可以使用在以前章节提到的Cache来缓存物理地址到数据的转换过程。实…

集成电路的引脚分布规律及识别

集成电路的引脚分布规律根据不同的封装方式而确定,引脚的序号和集成电路图中的编号是一一对应的,识别集成电路的引脚号对分析集成电路的内部框图和工作原理,以及排除集成电路的故障都具有重要的意义。 1.单列集成电路引脚的分布规律及识别 …

区块链技术:金融行业的信任基石

一、引言 在数字化转型的浪潮中,区块链技术以其独特的优势,正逐渐成为金融行业的信任基石。本文将深入探讨区块链技术在金融行业的应用,通过具体案例的细化和完善,分析其特点和影响。 二、区块链技术的核心特点 1. 去中心化:区块链技术通过分布式账本,实现去中心化的数…

栈和队列题目练习

本节小编选了两道题来加深对栈和队列的认识理解! 有效的括号 方法1:直接用栈的结构(动态数组) 本题可以用栈这个结构来解答,将(,{,[ 左括号压入栈中,然后取出栈顶元素与右括号),},]匹配。不匹配的话&…

【Qt】【模型视图架构】 在项目视图中启用拖放

文章目录 1. 在便捷类中启用拖放2. 在模型/视图类中启用拖放 模型/视图框架支持Qt的拖放应用。 列表、表格和树中的项目可以在视图中被拖拽,数据作为MIME编码的数据被导入和导出。标准视图可以自动支持内部的拖放。 默认视图的拖放功能并没有被启用,如果…

opencv进阶 ——(八)图像处理之RMBG模型AI抠图

BRIA.AI团队于HuggingFace开源了一个基于ISNet背景移除模型RMBG-1.4,它可以有效对前景与背景进行分离。RMBG-1.4在精心构建的数据集上训练而来,该数据包含常规图像、电商、游戏以及广告内容,该方案达到了商业级性能,但仅限于非商业…

【PHP项目实战训练】——laravel框架的实战项目中可以做模板的增删查改功能(1)

👨‍💻个人主页:开发者-曼亿点 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 曼亿点 原创 👨‍💻 收录于专栏&#xff1a…

【管理咨询宝藏120】顶级咨询公司领导管控优化设计方案

本报告首发于公号“管理咨询宝藏”,如需阅读完整版报告内容,请查阅公号“管理咨询宝藏”。 【管理咨询宝藏120】顶级咨询公司领导管控优化设计方案 【格式】PDF版本 【关键词】人力资源、组织管控、领导力 【核心观点】 - 管的过细” “高层的管理要往…

【排序】冒泡排序

在我们的生活中,到处都离不开排序的作用,考试分数要排序,商场购物要排序,可以说排序对我们来说处处存在,那么从本章开始,我将要依次分享一些排序方法,从易到难,包括冒泡,…

随身wifi和手机流量卡,你知道该怎么选吗?

网络已经成为我们这个时代的代名词! 那么,在上网的时代,我们有很多问题都要考虑,比如如何选择上网方式,是选择一张流量卡,还是一个随身WIFI? 听小编一句劝,先不要着急买&#xff0c…

接口测试工具:Postman的下载安装及使用

1 Postman 介绍 1.1 Postman 是什么 Postman 是一款功能超级强大的用于发送 HTTP 请求的 测试工具 做 WEB 页面开发和测试的人员常用工具 创建和发送任何的 HTTP 请求(Get/Post/Put/Delete...) 1.2 Postman 相关资源 1.2.1 官方网站:https://www.postman.com/ …