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

分层解耦的三层架构

【笔记】回顾JavaWeb结合自身开发的项目——分层解耦与IOC、MySQL简单查询_第1张图片
如下图所示是手术训练系统中的实现:
【笔记】回顾JavaWeb结合自身开发的项目——分层解耦与IOC、MySQL简单查询_第2张图片

如果你需要从new EmpServiceA()变为new EmpServiceB(),那么必然需要修改Service和Controller层的代码,那么如果我们不new 这个对象呢?是不是就不需要依赖Controller层。
【笔记】回顾JavaWeb结合自身开发的项目——分层解耦与IOC、MySQL简单查询_第3张图片
思路:提供一个容器存入一些对象,将EmpServiceA在容器种存入一个a对象,Controller程序运行的时候需要依赖empService这个类型的对象
【笔记】回顾JavaWeb结合自身开发的项目——分层解耦与IOC、MySQL简单查询_第4张图片
如果这个时候需要B这个对象
【笔记】回顾JavaWeb结合自身开发的项目——分层解耦与IOC、MySQL简单查询_第5张图片
即使service层代码变了,我们也不需要修改Controller层的代码。这里就引出了Spring的第一大核心IOC,将所有的对象都交给了容器管理。
如下图所示是手术训练系统中的实现:
【笔记】回顾JavaWeb结合自身开发的项目——分层解耦与IOC、MySQL简单查询_第6张图片

IOC与DI

在这里插入图片描述
如何切换呢?如下图所示,只需要将EmpServiceB的@Component注解注释掉(不加入容器),将EmpServiceB的@Component注解加入容器
【笔记】回顾JavaWeb结合自身开发的项目——分层解耦与IOC、MySQL简单查询_第7张图片

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

MySQL简单查询

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

一对多数据库的设计

多的一方建立一列少的一方的主键
【笔记】回顾JavaWeb结合自身开发的项目——分层解耦与IOC、MySQL简单查询_第10张图片
如下图所示是手术训练系统中的实现:
手术训练系统的一个任务对应多条成绩
【笔记】回顾JavaWeb结合自身开发的项目——分层解耦与IOC、MySQL简单查询_第11张图片

一对一数据库的设计

【笔记】回顾JavaWeb结合自身开发的项目——分层解耦与IOC、MySQL简单查询_第12张图片
如下图所示是手术训练系统中的实现:
手术训练系统中的任务表与任务配置表
【笔记】回顾JavaWeb结合自身开发的项目——分层解耦与IOC、MySQL简单查询_第13张图片

多对多数据库的实际

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

你可能感兴趣的:(mysql,数据库)