• SpringIOC是什么?


    一、Spring IOC

    1. IOC不是一种技术而是一种设计思想,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。
    2. 在传统Java SE程序设计,我们直接在对象内部通过new进行创建对象,IoC是有专门一个容器来创建这些对象,即由Ioc容器来控制对 象的创建;
    3. 何为控制反转?
      传统应用程序是由我们自己在对象中主动控制去直接获取依赖对象,也就是正转;而反转则是由容器来帮忙创建及注入依赖对象;
      因为由容器帮我们查找及注入依赖对象,对象只是被动的接受依赖对象,所以是反转;哪些方面反转了?依赖对象的获取被反转了。

    二、IOC能做什么

    1.IOC控制反转

    IoC(Inversion of Control,控制反转)。这是spring的核心,贯穿始终。所谓IoC,对于spring框架来说,就是由spring来负责控制对象的生命周期和对象间的关系。而Spring提供了IOC容器来帮我们生成所需要的对象。也就是说在我们原先的对象中有用到其他对象的地方Spring会帮我们来注入。不用我们再去考虑这些问题。

    2.DI(依赖注入)

    spring提供了三种方式来依赖注入,有构造方法注入,setter方法注入以及接口注入。使用构造方法注入需要注意的一点就是要避免循环依赖。所谓的循环依赖指的就是在A对象的构造方法中Spring要注入B,而在B对象中Spring要注入A。这个时候会形成一个闭环因为Spring不知道该先注入哪一个接着会抛出异常。而Spring建议的处理方式是说如果遇到这种情况的话就改用Setter方式注入。
    而spring就是通过反射来实现注入的。
    理解DI的关键是:“谁依赖谁,为什么需要依赖,谁注入谁,注入了什么”。
    谁依赖谁:应用程序依赖于IoC容器;
    为什么需要依赖:应用程序需要IoC容器来提供对象需要的外部资源;
    谁注入谁:IoC容器注入应用程序某个对象,应用程序依赖的对象;
    注入了什么:注入某个对象所需要的外部资源(包括对象、资源、常量数据)

    先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

  • 相关阅读:
    北邮 数字系统设计 14 Floating Point Number
    【Try to Hack】masscan
    机器学习(四十六):Streamlit 构建机器学习 Web
    JavaWeb——IDEA相关配置(Tomcat安装)
    Java面试题总结
    openGauss学习笔记-70 openGauss 数据库管理-创建和管理普通表-查看表数据
    Mit6.006-lecture05-Linear-Sorting
    优思学院|六西格玛中的概率分布有哪些?
    vue的双向绑定Object.definedProperty(obj,key,{set,get})
    Nginx + KeepAlived高可用负载均衡集群
  • 原文地址:https://blog.csdn.net/m0_67393039/article/details/126116473