【java结构】巧计各种层(dao、service等)的意思

2024-06-06 21:44

本文主要是介绍【java结构】巧计各种层(dao、service等)的意思,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

记记记!!

      • 1. **DAO 和 Service 巧记方法**
        • 方法一:比喻法
        • 方法二:口诀法
      • 2. **如何记住Spring项目的目录结构**
        • 缩略词法
        • 联想法
      • 3. **一个完整的记忆技巧:角色扮演法**
        • 故事示例:
      • 4. **用日常用语概括**
      • 总结

src/main/java └── com
└── example
├── Application.java # Spring Boot 应用的启动类
├── model # 数据模型
│ └── Person.java # Person 实体类
├── repository # 数据访问层(DAO)
│ └── PersonRepository.java # Person 的 DAO 接口
├── service # 业务逻辑层(Service)
│ ├── PersonService.java # Service 接口
│ └── impl
│ └── PersonServiceImpl.java # Service 接口的实现类
└── controller # 控制层(Controller)
└── PersonController.java # 处理 HTTP 请求
DAO和Repository 实际上是一个层次的不同表现形式,在现代Spring应用中,Repository 是 DAO 的增强和简化版本。
使用比喻和角色扮演的方式,可以帮助你更好地理解和记忆这些不同层次的职责。
通过缩略词、联想和口诀等方法,可以有效地记住Spring应用的层次结构和各层的职责。

1. DAO 和 Service 巧记方法

方法一:比喻法
  • DAO 层(数据访问层):可以比作“数据库门卫”。

    • 职责:负责管理进出数据库的“门禁”。它只关心数据的存取,不关心具体业务。
    • 关键点:处理与数据库的所有交互。
  • Service 层(业务逻辑层):可以比作“业务管家”。

    • 职责:负责执行业务规则和逻辑,管理多个“门卫”以完成复杂的操作。它是系统的核心,决定如何使用数据来满足业务需求。
    • 关键点:处理和执行具体的业务逻辑。

这种比喻法有助于你在脑海中形成清晰的图像,帮助理解不同层的角色和职责。

方法二:口诀法
  • DAO 层“拿数据,管门道”

    • 拿数据:负责从数据库获取和保存数据。
    • 管门道:管理数据的出入,不涉及具体的业务逻辑。
  • Service 层“办事情,管全局”

    • 办事情:负责处理应用中的所有业务逻辑和操作。
    • 管全局:从全局的业务需求出发,调用DAO层的功能来实现具体的业务逻辑。

2. 如何记住Spring项目的目录结构

可以使用缩略词和联想法来记住典型的Spring项目目录结构:

缩略词法

使用首字母缩略词来记住常见的文件夹:

  • Model (数据模型)
  • Repository (数据访问层)
  • Service (业务逻辑层)
  • Controller (控制层)

这样就形成了一个容易记忆的词:“MRSC”。

联想法

将每个层次的职责和实际生活中的角色进行联想:

  • Model:数据的“模型”,像建模一样,定义了数据的结构。
  • Repository:数据的“存储库”,负责管理数据的存取,就像图书馆的管理员。
  • Service:业务的“服务”,就像服务员一样,满足客户(应用)的具体需求。
  • Controller:请求的“控制者”,就像指挥官一样,接收和处理指令(用户的请求)。

3. 一个完整的记忆技巧:角色扮演法

你可以把每个层次想象成一个角色,并将它们置于一个故事中:

  • Model:想象它是一个“建筑师”,它定义了如何设计你的数据。
  • Repository:是“图书管理员”,负责存储和检索书籍(数据)。
  • Service:是“酒店经理”,它管理所有的操作和服务,确保客人(请求)得到满意的处理。
  • Controller:是“接待员”,它接收所有来访者(请求)并引导他们到正确的地方(调用Service)。
故事示例:
  1. **建筑师(Model)**设计了一座图书馆。
  2. **图书管理员(Repository)**管理和组织所有书籍,确保他们可以被迅速找到。
  3. **酒店经理(Service)**知道如何提供优质的服务,指挥图书管理员去找书,并为来访者(请求)提供帮助。
  4. **接待员(Controller)**接待来访者,了解他们的需求,然后告诉酒店经理。

4. 用日常用语概括

  • DAO 层:只“关注数据”,无视其他事物。
  • Service 层:要“处理业务”,管理各种数据操作。

这种简洁的概括可以帮助你快速回忆起它们的主要职责。

总结

记忆软件架构的不同层次和它们的职责可以通过简单的比喻、缩略词、联想和故事化的方法来实现。这些方法有助于将抽象的概念形象化,从而更容易记住和理解。希望这些技巧能帮助你更好地掌握Spring项目的层次结构和职责划分。如果你有任何具体的疑问或需要进一步解释,请随时联系我!

这篇关于【java结构】巧计各种层(dao、service等)的意思的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1037309

相关文章

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

Apache Ignite 与 Spring Boot 集成详细指南

《ApacheIgnite与SpringBoot集成详细指南》ApacheIgnite官方指南详解如何通过SpringBootStarter扩展实现自动配置,支持厚/轻客户端模式,简化Ign... 目录 一、背景:为什么需要这个集成? 二、两种集成方式(对应两种客户端模型) 三、方式一:自动配置 Thick

Spring WebClient从入门到精通

《SpringWebClient从入门到精通》本文详解SpringWebClient非阻塞响应式特性及优势,涵盖核心API、实战应用与性能优化,对比RestTemplate,为微服务通信提供高效解决... 目录一、WebClient 概述1.1 为什么选择 WebClient?1.2 WebClient 与

Java.lang.InterruptedException被中止异常的原因及解决方案

《Java.lang.InterruptedException被中止异常的原因及解决方案》Java.lang.InterruptedException是线程被中断时抛出的异常,用于协作停止执行,常见于... 目录报错问题报错原因解决方法Java.lang.InterruptedException 是 Jav

深入浅出SpringBoot WebSocket构建实时应用全面指南

《深入浅出SpringBootWebSocket构建实时应用全面指南》WebSocket是一种在单个TCP连接上进行全双工通信的协议,这篇文章主要为大家详细介绍了SpringBoot如何集成WebS... 目录前言为什么需要 WebSocketWebSocket 是什么Spring Boot 如何简化 We

java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)

《java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)》:本文主要介绍java中pdf模版填充表单踩坑的相关资料,OpenPDF、iText、PDFBox是三... 目录准备Pdf模版方法1:itextpdf7填充表单(1)加入依赖(2)代码(3)遇到的问题方法2:pd

Java Stream流之GroupBy的用法及应用场景

《JavaStream流之GroupBy的用法及应用场景》本教程将详细介绍如何在Java中使用Stream流的groupby方法,包括基本用法和一些常见的实际应用场景,感兴趣的朋友一起看看吧... 目录Java Stream流之GroupBy的用法1. 前言2. 基础概念什么是 GroupBy?Stream

SpringBoot监控API请求耗时的6中解决解决方案

《SpringBoot监控API请求耗时的6中解决解决方案》本文介绍SpringBoot中记录API请求耗时的6种方案,包括手动埋点、AOP切面、拦截器、Filter、事件监听、Micrometer+... 目录1. 简介2.实战案例2.1 手动记录2.2 自定义AOP记录2.3 拦截器技术2.4 使用Fi

最新Spring Security的基于内存用户认证方式

《最新SpringSecurity的基于内存用户认证方式》本文讲解SpringSecurity内存认证配置,适用于开发、测试等场景,通过代码创建用户及权限管理,支持密码加密,虽简单但不持久化,生产环... 目录1. 前言2. 因何选择内存认证?3. 基础配置实战❶ 创建Spring Security配置文件

Spring Security 单点登录与自动登录机制的实现原理

《SpringSecurity单点登录与自动登录机制的实现原理》本文探讨SpringSecurity实现单点登录(SSO)与自动登录机制,涵盖JWT跨系统认证、RememberMe持久化Token... 目录一、核心概念解析1.1 单点登录(SSO)1.2 自动登录(Remember Me)二、代码分析三、