Spring Boot中DAO等层的理解

  • 1 DAO层
  • 2 Service层
  • 3 Controller层
  • 4 Entity层
  • 5 View层
  • 6 Utils层
  • 总结

目前在公司实习python算法研究,但是个人对Spring Boot有较大兴趣。在刚开始学习过程中对其中的一些概念不是很清晰,故写个博客记录一下。下图是项目开发和业务逻辑设计的一般框架和流程图。

1 DAO层

DAO:Data Access Object(数据访问层),负责数据持久化工作。DAO层负责与数据库进行交互,封装对数据库的访问,涉及数据的增删改查处理(不涉及业务逻辑)。

2 Service层

Service:业务层,负责业务模块的逻辑应用设计。在项目的开发过程中一般先设计所需的业务接口类,之后再通过类来实现该接口(Java中接口可以多继承,而类不能),然后在Config文件中进行配置其实现的关联。之后就可以在Service层调用接口进行业务逻辑应用的处理。封装Service层的业务逻辑有利于业务逻辑的独立性和重复利用性。

3 Controller层

Controller:控制层,负责控制业务逻辑(例如登陆控制等具体的业务模块逻辑控制)。通常扮演负责控制处理Web前端发送的数据。Controller层主要调用Service层里面的接口控制具体的业务流程,控制的配置也需要在配置文件中进行。

[—注意—]
Conroller层和Service层的区别是:Controlle层负责具体的业务模块流程的控制;Service层负责业务模块的逻辑应用设计;

4 Entity层

Entity:实体层,数据库在项目中的类。放置一个个实体,及其相应的set、get方法。
Entity层中的类大多数是数据方面的,例如数据库中有负责登陆的User表(ID、UserName,Password),在Entity层就需要用private关键字定义与数据库中一样的字段(ID、UserName,Password)以及这些字段的get、set方法(方法可以Override)。

5 View层

View:通常指展示层,View层与控制层结合比较紧密,需要二者结合起来协同开发。View层主要负责前端页面的显示。

6 Utils层

Util是utiliy的缩写,是一个多功能、基于工具的包。如字符串处理、日期处理等,(建立数据库之间的连接),是通用的、与业务无关的,可以独立出来,可供其他项目使用。

总结

开发具体项目时,Controller层调用Service层的方法,Service层调用Dao层中的方法,其中调用的参数是使用Entity层进行传递的。

参考博客
1.https://blog.csdn.net/Restarting2019/article/details/122296373
2.https://www.cnblogs.com/yourjohn/p/15593686.html

Spring Boot中DAO层和Service层等理解相关推荐

  1. Spring Boot中声明式数据库事务使用与理解

    JDBC的数据库事务 传统JDBC的数据库事务的一个示例如下代码所示,该示例仅为一个insertUser方法的数据库事务过程.可以看到,如果还存在很多其他的数据库事务需要,则需要编写很多类似于如下的代 ...

  2. Spring Boot骚操作-多数据源Service层封装

    原文:https://www.pdai.tech/md/spring/springboot-data-multi.html mysql, es, mongodb 三个数据源用配置文件方式连接,JPA只 ...

  3. Entity层、DAO层、Service层、Controller层 先后顺序

    写法顺序: 1.数据库表 2.实体层 3.DAO层写接口 4.Mapper层写和DAO层对应的映射规则,即SQL和POJO的映射规则.其中<select>元素定义的resultType指向 ...

  4. springboot异步注解_Spring Boot 2 :Spring Boot 中的响应式编程和 WebFlux 入门

    [小宅按]Spring 5.0 中发布了重量级组件 Webflux,拉起了响应式编程的规模使用序幕. WebFlux 使用的场景是异步非阻塞的,使用 Webflux 作为系统解决方案,在大多数场景下可 ...

  5. (转)Spring Boot 2 (十):Spring Boot 中的响应式编程和 WebFlux 入门

    http://www.ityouknow.com/springboot/2019/02/12/spring-boot-webflux.html Spring 5.0 中发布了重量级组件 Webflux ...

  6. Spring boot 三层框架dao层、service层、controller层+实体model层

    Spring boot 三层框架dao层.service层.controller层+实体model层 model层 dao层 service层 controller层 首先创建一个springboot ...

  7. Spring、Mybatis整合Service优化思路,DAO层、Service层最终编码以及log4j日志的使用

    5. Spring.Mybatis整合Service层事务控制优化思路分析 # spring中处理事务的两种方式1. 编程式事务处理定义:通过在业务层中注入事务管理器对象,然后通过编码的方式进行事务控 ...

  8. SSM框架中各层的含义和联系(Pojos层、Dao层、Service层、Action层......)

    一.pojo层 即Plain Ordinary Java Object,也有人称其为model.domain.bean等,pojo层是对应的数据库表的实体类. 二.1.持久层:Dao层(Mapper) ...

  9. java的dao层_Java中Dao层、Action层、Service层、Controller层-Fun言

    Action/Service/DAO简介 Action 管理业务(Service)调度和管理跳转 Service 具体的业务功能 Action只负责管理,而Service负责实施 DAO只完成增删改查 ...

最新文章

  1. opencv 操作本地摄像头实现录像
  2. 生产上如何设置线程池参数?拒绝策略怎么配?|| Executors 中 JDK 给你提供了,为什么不用??
  3. Hibernate一对多映射示例注释
  4. Caused by: org.apache.catalina.LifecycleException: A child container failed during start
  5. Mac OSX使用隐藏文件夹
  6. 精度、速度完美平衡,最新图像分割SOTA模型重磅发布!!!
  7. python soup提取叶子标签_使用Python爬虫库BeautifulSoup遍历文档树并对标签进行操作详解(新手必学)...
  8. 微信小程序获取用户头像昵称手机号最新版
  9. 网易云音乐打卡听歌300首源码
  10. 启动mysql错误解决方案
  11. python写cdr插件_CDR插件: YG辅助增强插件 完美支持Win3264位 CorelDRAW X4-2018 免费下载附详细图文教程...
  12. 大闹天宫 页游 架设教程 自玩 单机
  13. Springboot毕设项目大学生科技项目管理系统0zzjj(java+VUE+Mybatis+Maven+Mysql)
  14. 社团管理——原型设计
  15. 四舍五入VS银行家舍入 (四舍六入五取偶)
  16. 一幅漫画告诉你:NB-IoT背后,大家都在说的LoRa是啥?
  17. 手机为什么手机里的计算机没在桌面,为什么安卓手机锁屏后动态桌面就不见了?教你设置软件后台运行!...
  18. 我,阿里的程序员,工作5年,揭秘阿里员工的真实收入和工作经历
  19. Mac不休眠、恢复休眠的快捷设置
  20. elasticjob spring xml 代码分析

热门文章

  1. 什么是“ backupd”,为什么它在我的Mac上运行?
  2. 【2020 ACM Fellow 华人学者】 Wang Yi 乌普萨拉大学
  3. 借助iMazing工具重新安装或升级 iOS系统
  4. Orlens入门概念(4)Orleans 服务进程Silo
  5. 程序员为什么要学习数据结构与算法?
  6. 五行代码python 创建Excel(xls)文件以及数据写入
  7. 苹果6怎么截屏_这才是iPhone截屏的正确方法!快速截屏6到飞起!你还不知道?...
  8. 金蝶开k3wise客户端访问中间层不时提示远程服务器不存在或不可用
  9. 【愚公系列】2023年06月 网络安全(交通银行杯)-baby
  10. 设置linux工具支持中文: