项目分层/分包总结

本文详细解释了在SpringBoot项目中,Controller层负责处理前后端交互,调用Service层处理业务逻辑,Service调用DAO层操作数据并管理事务,同时介绍了POJO作为模型层的使用,以及Mapper层作为数据库操作接口的重要性。
摘要由CSDN通过智能技术生成

Controller层(控制层):

负责前后端交互,接受前端请求,调用service层,接收service层返回的数据,最后返回具体的页面和数据到客户端

controller层主要调用Service层里面的接口控制具体的业务流程,不会在其中编写大量逻辑代码,同时也会接受并处理一些HTTP参数,例如session

Controller层负责前后端交互,接受前端请求,调用service层,接收service层返回的数据,最后返回具体的页面和数据到客户端。请注意:部分返回数据队格式和数量都有所要求,要注意前端需求并构建响应的Vo对象返回为佳

/*基本注解*/
@Controller       
//标注于类体上,声明该类是Controller(相当于告诉你我是控制器)
@RequestMapping
//标注于方法体上,用于指定访问路径
@ResponseBody       
//标注于方法体上,用于返回数据到<body>标签

Service层(业务层):

接收Controller层的请求,然后调用Dao层,获取到数据,也叫服务层,主要负责业务模块的逻辑;

先设计接口,再创建要实现的类,然后在配置文件中进行配置实现关联。service的impl是把mapper和service进行整合的文件

功能:

  • Service层通常会调用DAO层的方法来处理数据。
  • 实现事务控制:在Service层中实现事务控制,确保操作数据库的过程中数据的一致性和完整性。
  • 封装业务对象:Service层会封装业务逻辑需要的数据,并将其传递给DAO层进行存储或操作,这样做可以提高代码的可读性和可维护性,以及规范数据的操作。
/* 编写业务逻辑时,常常会声明一个由@Autowired 注释的XXXmapper对象,该对象为Dao层接口的实现类,以供其调用
 基本注解*/
 @Service       
  /*标注于Service接口的实现类上,将当前类自动注入到Spring容器中*/

DAO 层(数据操作层):

连接数据库,对数据库进行操作,具体到对于某个表的增删改查,也就是说某个DAO一定是和数据库的某一张表一一对应的,其中封装了增删改查基本操作

存放mapper接口**(只是接口)**,访问数据库,向数据库发送sql语句,完成数据的增删改查功能,通常将其实现为接口,内部声明的方法将会与mapper层中的对应数据库函数关联

其有两种编写方式
(1)继承 BaseMapper,BaseMapper 接口是 MyBatis Plus 提供的通用 Mapper 接口,用于执行常用的 CRUD 操作,包括插入、更新、删除和查询等操作,继承该接口后,能够自动获得数据库常用操作的方法,而不用在mapper内编写
(2)Mybaitisplus代码生成器自动生成DAO层,以及pojo和mapper层的基本文件

 @Mapper /*标注于接口的上方,用于框架寻找接口和对应接口的xml文件*/

在这里插入图片描述

注意:每个模型都有一个Service接口,每个接口分别封装各自的业务处理方法

POJO层

POJO在springboot项目中的定位,类似于mvc项目里的model模型层。
POJO(Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBeans,其中包含多个属性,同时具备get/set方法,推荐直接使用@lombok注解。
POJO中没有方法,而且与数据库表一一对应,属性也与数据库表的字段保持一致

mapper层

存放数据库函数,与DAO层中的方法映射,可通过终端命令生成,也可自行编写(工作量较大),在调用DAO方法则会实际执行mapper层对应的数据库方法,是对数据库curd的接口桥梁,同时也需要增加mapper扫描以完成识别

其他包

ENUM 枚举包
DVO/VO 返回对象包
EXCEPTION 报错包
FORM 表单包
拦截器
。。。待完善

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pswd

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值