【Spring系列-Spring-IOCDI】
Spring-IOC&DI
IOC和DI的关系
IoC is also known as dependency injection (DI).–来自官网的说明
翻译:IOC又名DI.
链接:https://docs.spring.io/spring-framework/docs/5.3.14/reference/html/core.html#beans-introduction
IOC名字的由来
IOC:处理对象创建和依赖关系的过程.
为什么不叫小明非要叫IOC呢?
案例:
一个学生(对象)可以存储三门课程语文(对象)、数学(对象)、英语(对象).
没有IOC的时候
代码如下:
//语文
Chin chin = new Chin();
//数学
Math math = new Math();
//英语
Eng eng = new Eng();
//学生
Student stu = new Student(chin,math,Eng);
//(使用)打印
stu.printChin();
stu.printMath();
stu.printEng();
//以上创建对象和对象的依赖全都是程序员的工作量
有IOC的时候
定义对象依赖:
<bean id = "chin" class = "xxxx.xxxx.Chin"/>
<bean id = "math" class = "xxxx.xxxx.Math"/>
<bean id = "eng" class = "xxxx.xxxx.Eng"/><bean id = "stu" class = "xxxx.xxxx.Student"><constructor name = "chin" ref="chin"/><constructor name = "math" ref="math"/><constructor name = "eng" ref="eng"/>
</bean>
代码如下:
Student stu = BeanFactory.getBean("stu");
//(使用)打印
stu.printChin();
stu.printMath();
stu.printEng();
//以上创建对象和依赖的工作量都反转给了程序(IOC).(减少了程序员的工作量春天(Spring)来啦)
总结:工作量都反转给了程序(IOC)这个过程不就是控制反转吗?
【Spring系列-Spring-IOCDI】相关推荐
- Spring系列——Spring MVC配置文件
Spring系列--Spring MVC配置文件 一.前端控制器DispatcherServlet 二.RequestMapping注解 1.使用方法 1.1. 标注在方法上 1.2. 标注在类上 2 ...
- Spring 系列: Spring 框架简介
Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的.框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架. 在这篇由三部 ...
- Spring 系列: Spring 框架
第一部分:Spring 框架简介 Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的.框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序 ...
- Spring系列第20篇:@Conditional通过条件来控制bean的注册
面试阿里p7被问到的问题(当时我只知道第一个): @Conditional是做什么的? @Conditional多个条件是什么逻辑关系? 条件判断在什么时候执行? ConfigurationCondi ...
- Spring系列第10篇:primary可以解决什么问题?
存在的问题以及解决方案 直接上案例,通过案例来看技术是如何使用的: package com.javacode2018.lesson001.demo8;public class NormalBean { ...
- Spring系列第9篇:depend-on到底是干什么的?
本文主要讨论一下bean的创建和销毁的顺序,如何来干预bean的创建和销毁的顺序. 无依赖bean创建和销毁的顺序 我们先来看一下没有任何依赖的bean的创建和销毁的顺序. 下面的xml中定义了3个b ...
- 深入理解Spring系列之六:bean初始化
<深入理解Spring系列之四:BeanDefinition装载前奏曲>中提到,对于非延迟单例bean的初始化在finishBeanFactoryInitialization(beanFa ...
- @autowired注解_品Spring:对@Autowired和@Value注解的处理方法(文末附spring系列资源合集)...
作者:编程新说李新杰 出自:微信公众号"编程新说" 原文:品Spring:对@Autowired和@Value注解的处理方法 在Spring中能够完成依赖注入的注解有JavaSE提 ...
- Spring 系列,第 2 部分: 当 Hibernate 遇上 Spring
为什么80%的码农都做不了架构师?>>> 在这个系列的 前一期中,我介绍了 Spring 框架的 7 个模块,包括 Spring AOP 和控制反转(IOC)容器.然后我用一个 ...
- 深入理解Spring系列之三:BeanFactory解析
转载 https://mp.weixin.qq.com/s?__biz=MzI0NjUxNTY5Nw==&mid=2247483824&idx=1&sn=9b7c2603093 ...
最新文章
- luogu5024 [NOIp2018]保卫王国 (动态dp)
- vscode更改插件路径_用好这7个 VS Code 插件,效率蹭蹭涨!
- 进程和线程的定义和区别
- mysql密码正确但无法连接【彻底解决方案】
- bzoj 4566 找相同字符 —— 广义后缀自动机
- mysql rename语法错误_为什么现在MySQL无法重命名数据库?
- Buffer、ArrayBuffer、DataView互转(node.js)
- BFS+模拟 ZOJ 3865 Superbot
- 南京大学计算机考研的重点,南京大学计算机考研
- 3DMax设置长度单位
- matlab画奇异吸引子,第四节 混沌理论和奇异吸引子
- java画乌龟_简单的实现java多线程——龟兔赛跑
- c#语言小括号里面的逗号是什么意思
- SQL server卸载软件(可修复注册表)
- 阿里云大数据助理工程师认证考试考什么内容?
- 音频文件的结构与规范——RIFF和WAVE音频文件格式
- Win32消息集合----方便查阅
- Python计算机视觉编程第十章——OpenCV基础知识
- Struts常见错误及原因分析
- onload和ready的不同