JavaWeb的三层架构和分层解耦

news2025/1/12 5:00:13
  • 博客主页:音符犹如代码
  • 系列专栏:JavaWeb
  • 关注博主,后期持续更新系列文章
  • 如果有错误感谢请大家批评指出,及时修改
  • 感谢大家点赞👍收藏⭐评论✍

目录

三层架构

分层解耦


三层架构是哪三层?

Controller:表现层

Service:业务逻辑层

Dao:数据访问层

Controller:接受前端发来的请求(比如网页表单的提交,接口调用等),根据前端的请求来调用相应的Service层中的方法来处理业务逻辑,并响应回数据

Service:实现具体的业务逻辑,调用Dao层的数据来满足业务需求

Dao:主要与数据库进行交互,进行数据的增删改查,提供数据的访问接口

什么是分层解耦?

分层解耦是一种软件设计原则和架构方法,旨在将一个复杂的系统划分为不同的层次,并减少各层次之间的相互依赖和紧密耦合。

内聚:指一个模块内部各元素之间联系的紧密程度

耦合:是指不同模块之间相互依赖的程度

软件设计原则:追求高内聚和低耦合


下一期给大家讲解ioc和di

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

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

相关文章

云微客短视频矩阵能带来流量吗?有哪些产品特色?

短视频平台,现如今已经成为了互联网最大的流量池,诸如抖音、快手、小红书、视频号、哔哩哔哩等平台,日活量都在上亿。短视频赛道汇聚了无数的用户群体,所以商企品牌的营销定位就应该在这里。 许多企业看到了这样的营销商机&#x…

AI绘画模型之:CLIP 与 DALL-E 2

重磅推荐专栏: 《大模型AIGC》 《课程大纲》 《知识星球》 本专栏致力于探索和讨论当今最前沿的技术趋势和应用领域,包括但不限于ChatGPT和Stable Diffusion等。我们将深入研究大型模型的开发和应用,以及与之相关的人工智能生成内容(AIGC)技术。通过深入的技术解析和实践经…

自动驾驶:SLAM

什么是SLAM SLAM,即Simultaneous Localization and Mapping(同时定位与地图构建) 最早由Smith、Self和Cheeseman于1988年提出。是自动驾驶领域中的一项核心技术。它允许自动驾驶车辆在使用各种传感器(如激光雷达、摄像头、IMU等&…

计算机毕业设计选题推荐-服装生产管理系统-Java/Python项目实战

✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

大模型开闭源之争,本质是商业化的争夺

大模型从发展之初,即存在开源与闭源两条路线,孰优孰劣,也处于持续争论之中。2024年7月,在“2024世界人工智能大会”上,众多业内领军人物对大模型开闭源表达了针锋相对的观点。例如,百度创始人李彦宏站在闭源…

成功解决:java.security.InvalidKeyException: Illegal key size

在集成微信支付到Spring Boot项目时,可能会遇到启动报错 java.security.InvalidKeyException: Illegal key size 的问题。这是由于Java加密扩展(JCE)限制了密钥的长度。幸运的是,我们可以通过简单的替换文件来解决这个问题。 解决…

LeetCode 17.电话号码的字母组合 C++写法

LeetCode 17.电话号码的字母组合 C写法 思路🧐: 使用深度优先搜索递归进行解题。首先建立一个号码与字母的映射表,当接收传过来的号码字符串时减去字符0就可以拿到该号码。其次使用string存储当前号码所对应字母,然后for循环遍历字…

用Java手写jvm之尝试解析clazz文件内容

写在前面 源码 。 本文尝试来解析下class文件的内容,了解了class文件内容后,对我们提升java认知将会带来很大的帮助,有多大呢,不好说,总之很大很大,大到受不了😍😍😍。 …

安泰高压放大器在工业领域中的应用

高压放大器是一种在工业领域中发挥重要作用的电子设备,其功能是将低电压信号放大到更高的电压水平。这种设备在多个工业应用中都发挥着关键作用,提供了稳定、可调节的高电压输出。以下是高压放大器在工业领域中的主要应用: 1.精密仪器和实验室…

尚硅谷电商实时数仓笔记-《二》数仓建模概述

上一篇: 尚硅谷电商实时数仓笔记-《一》数仓概述-CSDN博客 二、数仓建模概述 2.1 数据仓库建模的意义 如果把数据看作图书馆里的书,我们希望看到它们在书架上分门别类地放置; 如果把数据看作城市的建筑,我们希望城市规划布局合理…

面试官没想到一个ArrayList,我都能跟他扯半小时

点赞再看,Java进阶一大半 南哥在stackoverflow社区看到14年前的这么一个问题:Java 的 Vector.add() 和 Vector.addElement() 有什么区别,大家有答案吗? 它们实际上没有区别!!!1996年的JDK 1.0版…

每日一题,力扣leetcode Hot100之56. 合并区间

解题思路: 先按照每个数组的第一个数字sort排序。 每次进来一个数组,如果你的第1项大于别人的第2项,那么直接添加。 否则的话则存在可以合并的区间,然后合并的区间的第2项则为旧的和新的第2项的最大值。 class Solution:def m…

SpringBoot框架简单整合ShardingSphere-JDBC实现MySQL分库分表和读写分离及加密混合

1. 主从配置 1.1 主机1(IP:192.168.186.77) 1.1.1 docker-compose.yml version: 3.8services:mysql-master:image: mysql:latestcontainer_name: mysql-masterenvironment:MYSQL_ROOT_PASSWORD: 123456MYSQL_USER: masterMYSQL_PASSWORD: 123456MYSQL…

计算机毕业设计Hadoop+Spark旅游景点可视化 旅游景点推荐系统 景区游客满意度预测与优化 Apriori算法 景区客流量预测 旅游大数据 景点规划

### 开题报告 **论文题目:** 基于Spark的旅游景点可视化系统的设计与实现 **研究背景与意义:** 随着旅游业的快速发展,人们对旅游信息的获取和处理需求越来越高。传统的旅游信息系统虽然能够提供静态的数据查询和展示功能,但在…

短视频矩阵管理系统开发

在短视频内容爆炸式增长的今天,如何高效管理多个账号,同时保持内容的创新性和互动性,成为了创作者和品牌面临的重大挑战。短视频矩阵管理系统的开发,正是为了解决这一问题,提供一个全面的解决方案。 多账号管理&#…

本地调试指引文档

在开发组件库时,我们经常需要在真实的项目中测试组件库的功能,所以需要进行本地调试,本文介绍两种组件库本地调试流程, 1.使用beta版本 2.使用npm link 两种都可以作为本地调试的方案,本文作为一个参考资料&#xff0…

【机器学习】机器学习的分类算法以及使用逻辑回归算法进行分类

引言 机器学习中的分类算法是一种监督学习算法,其目的是根据已知的输入和输出(即特征和标签)来训练模型,以便能够预测未标记数据的类别标签 文章目录 引言一、分类算法1.1 逻辑回归(Logistic Regression)1.…

新手小白,开放式耳机该如何挑选?自费无广开放式耳机评测

作为一个在耳机领域探索多年的人,看到这个问题,我觉得有必要分享一些实用的经验和见解,希望能帮助到各位新手朋友。 首先要来说的就是在挑选开放式耳机的时候需要注意的几个点: 一、佩戴的稳固性。开放式耳机的设计较为独特,如果…

详细指南丨Apache环境下如何配置HTTPS证书

在Apache环境下部署SSL证书通常涉及几个步骤,包括生成私钥、创建CSR(证书签名请求)、安装SSL证书以及配置Apache服务器。下面是详细的步骤说明: 1. 准备工作 确认服务器和域名:需要有一台已经设置好的Apache服务器和…

后台管理系统(springboot+vue3+mysql)

系列文章目录 1.SpringBoot整合RabbitMQ并实现消息发送与接收 2. 解析JSON格式参数 & 修改对象的key 3. VUE整合Echarts实现简单的数据可视化 4. List<HashMap<String,String>>实现自定义字符串排序(key排序、Val…