Spring IOC

1.IOC是什么?

IOC(Inversion of Control)---控制反转;

IOC不是一种技术,是一种设计思想。在没有Spring IOC时,对象的创建和依赖关系是由我们自己来创建和管理,有了IOC之后,对象的创建和依赖关系由Sping IOC容器来创建和管理。

理解好IOC,需要明白:

  • 谁控制谁,控制什么:

在以前我们是通过new的方式来创建对象,组装对象之间的依赖关系;有了IOC容器之后,由容器负责对象的创建和依赖关系。

谁控制谁:Spring IOC容器控制对象。

控制什么:控制对象的创建过程,整个生命周期,以及对象之间的依赖关系。

  • 为何是反转,那些方面反转了:

正转:我们自己自动创建对象,管理对象的依赖关系。

反转:对象的创建和关系,交由容器来管理。

   为何反转:因为对象的创建和依赖关系,由容器来管理了,不是我们自己来管理。

   什么反转了:对象的创建和依赖关系的管理被反转了。

转载于:https://www.cnblogs.com/tongluo/p/5472680.html

浅谈Spring IOC相关推荐

  1. 浅谈Spring IOC和DI及Spring工厂类

    浅谈Spring IOC和DI及Spring的工厂类 文章目录 浅谈Spring IOC和DI及Spring的工厂类 一. IOC 1.什么是IOC 2.为什么使用IOC 传统开发模式的弊端 3. 使 ...

  2. 浅谈 Spring IOC

    浅谈 Spring IOC 什么是IOC 理解 IOC 和 DI Spring IOC 相关操作个人总结 什么是IOC Ioc-Inversion of Control,即"控制反转&quo ...

  3. 浅谈Spring IOC的理解

    浅谈Spring IOC的理解 学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊 ...

  4. 浅谈 Spring IOC和AOP

    浅谈 Spring IOC和AOP IOC 控制反转 以前创建对象的主动权和时机是由于自己把握的,现在将这种权利转移到Spring容器中,并且根据配置文件去创建对象管理对象 ioc的注入方式有三种:构 ...

  5. 面试中浅谈Spring IOC

    IOC控制反转.依赖注入. 借助第三方,然后实现对具有依赖关系的对象之间的解耦. 依赖注入(DI)和控制反转(IOC)是从不同的角度的描述的同一件事情,就是指通过引入IOC容器,利用依赖关系注入的方式 ...

  6. 浅谈:Spring Boot原理分析,切换内置web服务器,SpringBoot监听项目(使用springboot-admin),将springboot的项目打成war包

    浅谈:Spring Boot原理分析(更多细节解释在代码注释中) 通过@EnableAutoConfiguration注解加载Springboot内置的自动初始化类(加载什么类是配置在spring.f ...

  7. 由openSession、getCurrentSession和HibernateDaoSupport浅谈Spring对事物的支持

    由openSession.getCurrentSession和HibernateDaoSupport浅谈Spring对事物的支持 Spring和Hibernate的集成的一个要点就是对事务的支持,op ...

  8. 浅谈Spring定时任务

    浅谈Spring定时任务 三种定时任务基于原理 多定时任务并发配置 动态定时任务 定时任务Demo 三种定时任务基于原理 SpringBoot配置定时任务主要有Spring Schedule.JDK自 ...

  9. 浅谈Spring的Bean生命周期和作用域

    学习spring有一段时间了.有的人说Spring的发展就是Java的发展,Spring就是Java的半壁江山,而且AOP思想更是OOP思想的一种扩展和延申.所以今天来浅谈一下spring的生命周期和 ...

最新文章

  1. AlphaGo制胜绝招:蒙特卡洛树搜索入门指南
  2. 卷积神经网络新手指南 2
  3. python set union_python – set.union()抱怨它在传入生成器时没有参数
  4. 一个人会python能做什么_利用Python来预测一个人有没有女朋友!无所不能!
  5. Linux共享文件夹中毒,Linux find命名快速查找中毒文件操作实例
  6. 连接linux工具Mtr,Linux常用网络工具:路由扫描之mtr
  7. Option键竟然如此强大,99.9%的Mac用户不知道的高效秘技
  8. CSS之实现二级菜单动态出现
  9. the enigma x64 6.7_颜值不输宝马,零百加速6.7秒,国产最强轿跑SUV就是它了
  10. 富士相机设置传原图_更稳更快更小巧 富士轻旗舰X-S10无反相机评测
  11. java运算符的优先级别
  12. Linux软件源镜像修改
  13. 中国象棋-单机游戏-微信小程序的项目开发流程详解
  14. 如何更改Dropbox的同步文件夹?
  15. Real-time Intended Knee Joint Motion Prediction by deep-recurrent neural networks利用深度递归神经网络实时预测膝关节运动
  16. android友盟错误统计,Android—友盟统计收集错误和在线统计
  17. case、casex、casez的区别
  18. 用GAN的方法来进行图片匹配!休斯顿大学提出用于文本图像匹配的对抗表示学习,消除模态差异!
  19. 通用进销存系统开发摘记
  20. linux终端模拟器stdin,linux输出·输入文件和标准输入 标准输出是什么意思啊

热门文章

  1. Python基础:函数的介绍及应用
  2. Logstash 基础入门
  3. flume + kafka
  4. 关于discuz 不能全文搜索的问题
  5. System.ComponentModel.Component : MarshalByRefObject, IComponent, IDisposable
  6. Nhibernate代码自动生成工具[转]
  7. 50%企业数据治理失败!这9大要素才是成功关键
  8. Simulink之门极关断晶闸管(GTO)
  9. LwIP之ARP协议
  10. STM32之SDIO原理