当前位置: 首页 > news >正文

【笔记】回顾JavaWeb结合自身开发的项目——分层解耦与IOC、MySQL简单查询

分层解耦的三层架构

在这里插入图片描述
如下图所示是手术训练系统中的实现:
在这里插入图片描述

如果你需要从new EmpServiceA()变为new EmpServiceB(),那么必然需要修改Service和Controller层的代码,那么如果我们不new 这个对象呢?是不是就不需要依赖Controller层。
在这里插入图片描述
思路:提供一个容器存入一些对象,将EmpServiceA在容器种存入一个a对象,Controller程序运行的时候需要依赖empService这个类型的对象
在这里插入图片描述
如果这个时候需要B这个对象
在这里插入图片描述
即使service层代码变了,我们也不需要修改Controller层的代码。这里就引出了Spring的第一大核心IOC,将所有的对象都交给了容器管理。
如下图所示是手术训练系统中的实现:
在这里插入图片描述

IOC与DI

在这里插入图片描述
如何切换呢?如下图所示,只需要将EmpServiceB的@Component注解注释掉(不加入容器),将EmpServiceB的@Component注解加入容器
在这里插入图片描述

在这里插入图片描述

MySQL简单查询

在这里插入图片描述

一对多数据库的设计

多的一方建立一列少的一方的主键
在这里插入图片描述
如下图所示是手术训练系统中的实现:
手术训练系统的一个任务对应多条成绩
在这里插入图片描述

一对一数据库的设计

在这里插入图片描述
如下图所示是手术训练系统中的实现:
手术训练系统中的任务表与任务配置表
在这里插入图片描述

多对多数据库的实际

在这里插入图片描述

http://www.lryc.cn/news/221132.html

相关文章:

  • Modelsim 使用教程(5)——Analyzing Waveforms
  • String-固长字符串序列
  • RABC权限模型与Spring Security
  • linux 编译lpthread
  • 工业自动化工厂PLC远程控制网关物联网应用
  • Nginx 实现负载均衡
  • 浅谈测试需求分析
  • 18、Python的编码规范:PEP 8介绍及基本遵循原则
  • AI:48-基于卷积神经网络的气象图像识别
  • AI:64-基于深度学习的口罩佩戴检测
  • Time series analysis of InSAR data: Methods and trends(NASA,2015)
  • 视频集中存储/云存储EasyCVR启动后查询端口是否被占用出错,该如何解决?
  • 【JMeter】后置处理器的分类以及场景介绍
  • 即时通讯技术文集(第22期):IM安全相关文章(Part1) [共13篇]
  • Node Sass version 9.0.0 is incompatible with ^4.0.0.
  • 【STL】:list的模拟实现
  • 第七章 图【数据结构与算法】【精致版】
  • 模型蒸馏学习
  • 总结Kibana DevTools如何操作elasticsearch的常用语句
  • 【QT】QT自定义C++类
  • 【多媒体文件格式】AVI、WAV、RIFF
  • AI创作系统ChatGPT商业运营系统源码+支持GPT4/支持ai绘画
  • JWT简介 JWT结构 JWT示例 前端添加JWT令牌功能 后端程序
  • Rust核心功能之一(所有权)
  • 跨域(CORS)和JWT 详解
  • 前端框架Vue学习 ——(二)Vue常用指令
  • Linux 指令心法(十四)`flash_erase` 擦除Flash存储器
  • GoLong的学习之路(二十一)进阶,语法之并发(go最重要的特点)(协程的主要用法)
  • 加快网站收录 3小时百度收录新站方法
  • GPT实战系列-ChatGLM3本地部署CUDA11+1080Ti+显卡24G实战方案