IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Spring IoC和DI的理解 -> 正文阅读

[Java知识库]Spring IoC和DI的理解

一、 OCP开闭原则

1.什么是OCP?

OCP是软件七大开发原则当中最基本的一个原则,开闭原则

对扩展开放,对修改关闭

2.OCP原则是最核心的,最基本的,其他六个原则都是为了这个原则服务的

3.OCP开闭原则的核心是什么?

只要你在扩展系统功能的时候,没有修改以前写好的代码,那么你就是符合OCP原则的,反之

,如果在扩展系统功能的时候,你修改了之前的代码,那么这个设计就是失败的,违背OCP原则

4.当进行系统功能扩展的时候,如果动了之前稳定的程序,修改了之前的程序,之前所有的程序都需要重新测试,这是不想看到的,因为很麻烦

二、依赖倒置原则(DIP原则)

?UserAction依赖了具体的UserServiceImpl,UserServiceImpl依赖了具体的UserDaoIMplForMysql

上层依赖下层,这就违背了依赖倒置原则.只要"下层"一改动,"上层"就收到牵连(比如我们要连接Orcle数据库,那么就需要改动代码)

那什么叫符合依赖倒置原则?

上不在依赖下,表示符合依赖倒置原则.

依赖倒置原则的核心是:倡导面向接口编程,面向抽象编程,不要面向具体编程

三、当前程序的设计,既违背了OCP,又违背了DIP

可以采用"控制反转"这种编程思想来解决这个问题

四、什么是控制反转?

控制反转:IoC(Inversion of Control)

反转的是两件事:

1.不在程序中采用硬编码的方式来new对象了(new对象不管了,new对象的权利交出去)

2.不在程序中采用硬编码的方式来维护对象关系了(对象之间的关系不管了,交出去)

控制反转:是一种编程思想,或者是叫做新型的设计模式,由于出现的比较晚,没有被纳入GoF23设计模式中

五、Spring框架

1.Spring框架实现了控制反转IoC这种思想

①Spring框架可以帮你new对象

②Spring框架可以帮你维护对象之间的关系

2.Spring是一个实现了IoC思想的容器

3.控制反转的实现方式有多种,常见的叫做依赖注入简称(DI)

4.控制反转是思想,依赖注入是这种思想的具体实现

5.依赖注入常见的两种方式:

①set注入(执行set方法注入)

②构造方法注入(执行构造方法注入)

6.依赖:A对象和B对象之间的关系,注入:是一种手段,通过这种手段,可以让A对象和B对象产生关系

依赖注入:对象A和对象B之间的关系,靠注入的手段来维护

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-10-31 11:40:47  更:2022-10-31 11:45:01 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 4:53:55-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码