第十二章 分层解耦

第十二章 分层解耦

  • 1.三层架构
  • 2.分层解耦(IOC-DI引入)
  • 3.IOC&DI入门
  • 4.IOC&DI-IOC详解
  • 5.IOC&DI-DI详解

1.三层架构

第十二章 分层解耦_第1张图片
第十二章 分层解耦_第2张图片
第十二章 分层解耦_第3张图片
第十二章 分层解耦_第4张图片
第十二章 分层解耦_第5张图片
第十二章 分层解耦_第6张图片
第十二章 分层解耦_第7张图片
第十二章 分层解耦_第8张图片
第十二章 分层解耦_第9张图片
第十二章 分层解耦_第10张图片
第十二章 分层解耦_第11张图片

2.分层解耦(IOC-DI引入)

第十二章 分层解耦_第12张图片
第十二章 分层解耦_第13张图片
第十二章 分层解耦_第14张图片

3.IOC&DI入门

第十二章 分层解耦_第15张图片
第十二章 分层解耦_第16张图片
第十二章 分层解耦_第17张图片
第十二章 分层解耦_第18张图片
第十二章 分层解耦_第19张图片
第十二章 分层解耦_第20张图片
第十二章 分层解耦_第21张图片
第十二章 分层解耦_第22张图片
此时我将EmpServiceA中的@component注解注释掉即可
我不将EmpServiceA交给容器管理,将EmpServiceB交给容器管理
第十二章 分层解耦_第23张图片

此时业务层的代码变了,但其他都不用动

4.IOC&DI-IOC详解

第十二章 分层解耦_第24张图片
第十二章 分层解耦_第25张图片
第十二章 分层解耦_第26张图片
第十二章 分层解耦_第27张图片

效果一样
第十二章 分层解耦_第28张图片

可以通过value修改bean的名字
第十二章 分层解耦_第29张图片
第十二章 分层解耦_第30张图片

5.IOC&DI-DI详解

如果我们将empServiceA和empServiceB全交给IOC容器管理,那么
在程序运行的时候到底注入A还是B呢?
第十二章 分层解耦_第31张图片
第十二章 分层解耦_第32张图片

直接报错了
第十二章 分层解耦_第33张图片
第十二章 分层解耦_第34张图片

第一种方法
如果我们想B生效
第十二章 分层解耦_第35张图片
第十二章 分层解耦_第36张图片
第二种方法
如果我们想EmpServiceA生效,我们在@Qualifier中放入EmpServiceA的bean
如果我们没有设置过EmpServiceA的bean,那么就是小写empServiceA
第十二章 分层解耦_第37张图片
第十二章 分层解耦_第38张图片

第三种
第十二章 分层解耦_第39张图片
第十二章 分层解耦_第40张图片

你可能感兴趣的:(JAVAWEB2,java,分布式,开发语言)