精华内容
下载资源
问答
  • ioc和di的区别
    千次阅读
    2018-05-09 12:56:52

    ① IOC:控制反转,把对象创建交给spring进行配置

    ② DI:依赖注入,向类里面的属性中设置值

    ③ 关系:依赖注入不能单独存在,需要在ioc的基础之上完成操作

    更多相关内容
  • IoC和DI区别

    千次阅读 2019-06-09 11:22:58
    首先我们一般回答面试题都是先说出他们两个是什么,然后在说他们之间的区别.嘻嘻重点在最后后面 1.IoC(Inverse of Control 反转控制): 将对象创建权利交给Spring工厂进行管理。 理解IoC 2.DI:Dependency ...

    首先我们一般回答面试题都是先说出他们两个是什么,然后在说他们之间的区别.嘻嘻重点在最后后面

    1.IoC(Inverse of Control 反转控制): 将对象创建权利交给Spring工厂进行管理。

    理解IoC

    2.DI:Dependency Injection,翻译过来就是:依赖注入。是指spring框架在创建bean对象时,动态的将依赖对象注入到bean组件中

    原来在使用Spring之前:
    Class UserServiceImpl{
    private String msg;
    
    public void setMsg( String msg ){
    this. msg = msg;
    }
    }
    UserService userService = new UserServiceImpl();
    userService.setMsg(“世界”);
    
    
    使用了Spring之后。我们只需要使用xml配置,或者注解配置。就可以直接注入。
    
    扩展UserServiceImpl 
    添加msg属性及其setter方法
    /**
     * UserService接口的实现类
     * @author joedy
     *
     */
    public class UserServiceImpl implements UserService {
        
        private String msg;
    
        @Override
        public void sayHello() {
            System.out.println("hello " + msg);
        }
    
        // UserServiceImpl的对象,依赖于String类型的msg数据
        public void setMsg(String msg) {
            this.msg = msg;
        }
    
    }
    
    
    通过配置属性注入
    通过property标签注入依赖数据:
    <?xml version="1.0" encoding="UTF-8"?>
    <!-- xml配置的约束头信息 -->
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="
            http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    
    	<!-- 配置使用哪个实现类,对UserService接口进行实例化 -->
    	<!-- id:唯一标识,通过它获取配置的实现类。 class:配置UserService这个实现类 -->
    	<bean id="userService" class="com.atguigu.spring.quickstart.UserServiceImpl">
    		<!-- spring框架初始化UserService对象后,自动调用该对象的setMsg方法,注入依赖数据:msg -->
    		<property name="msg" value="世界"></property>
    	</bean>
    
    </beans>
    
    
    测试
    传统方式需要修改代码,spring方式不需要修改任何代码:
    public class UserServiceTest {
    
        @Test
        public void test1() {
            // 传统写法,紧密耦合
            UserServiceImpl userService = new UserServiceImpl();
            // 手动注入userService对象依赖的msg数据
            userService.setMsg("世界");
            userService.sayHello();
        }
    
        @Test
        public void test2() {
            // 反射 + 工厂 + 配置文件,实例化UserService接口对象
            ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
            // 通过工厂根据配置名称获取实例化对象
            UserService userService = (UserService) context.getBean("userService");
            userService.sayHello();
        }
    
    }

    IoC和DI的区别?

    IoC:控制反转,指将对象的创建权,反转到spring容器。

    DI:依赖注入,指在创建对象的过程中,将对象依赖的属性通过配置进行注入。DI的实现依赖于IoC,先有控制反转才有依赖注入

     

    展开全文
  • IOC和DI区别

    2020-06-16 00:06:11
    一开始我认为IoCDI这两个概念思想是一样的,后来查找资料了解到 详解: 无spring  在平时的java应用开发中,我们实现某个逻辑时至少需要两个或以上的对象来协作完成,在没有使用Spring的时候,每个对象在需要使用...

    理论:
    创建对象的权利给力容器-控制反转
    容器依赖配置进行新对象创建-依赖注入

    一开始我认为IoC 、DI这两个概念思想是一样的,后来查找资料了解到
    详解:
    无spring
      在平时的java应用开发中,我们实现某个逻辑时至少需要两个或以上的对象来协作完成,在没有使用Spring的时候,每个对象在需要使用他的合作对象时,自己均要使用像new object() 这样的语法来将合作对象创建出来,
    1.这个合作对象是由自己主动创建出来的,创建合作对象的主动权在自己手上,自己需要哪个合作对象,就主动去创建,
    2.创建合作对象的主动权和创建时机是由自己把控的,而这样就会使得对象间的耦合度高了,
    有Spring:
    创建对象的控制权进行转移,它们都依赖容器(spring)
    创建合作对象B的工作是由Spring来做的,Spring创建好B对象,然后存储到一个容器里面,当A对象需要使用B对象时,Spring就从存放对象的那个容器里面取出A要使用的那个B对象,然后交给A对象使用,至于Spring是如何创建那个对象,以及什么时候创建好对象的,A对象不需要关心这些细节问题

    DI(依赖注入)其实就是IOC的另外一种说法,DI是由Martin Fowler 在2004年初的一篇论文中首次提出的。他总结:控制的什么被反转了?就是:获得依赖对象的方式反转了。

    希望能帮助到你们

    展开全文
  • IOC和DI区别

    2021-10-17 19:18:30
    DI的意思是依赖注入 ,前者是目的更偏向于实际操作相比于传统的通过new的方式来创建对象并手动的为属性赋值这些行为完全交于程序员控制,IOC则是把创建对象并给对象中的属性赋值交由sprin工厂管理,从而达到控制反转...

    IOC的意思是控制反转,DI的意思是依赖注入 ,前者是目的更偏向于实际操作相比于传统的通过new的方式来创建对象并手动的为属性赋值这些行为完全交于程序员控制,IOC则是把创建对象并给对象中的属性赋值交由sprin工厂管理,从而达到控制反转的目的 而后者则是通过依赖注入的手段让spring工厂来管理对象的创建和属性的赋值 。

    下面这位大牛的理解和解释更深刻:向他学习

    IOC与DI的理解_ji1127780204的博客-CSDN博客_di

    展开全文
  • Spring -IOC和DI 区别

    2019-01-07 15:33:47
    Spring -IOC和DI 区别IOC:控制反转,把对象创建交给Spring进行配置。 2 DI依赖注入,向类里面的属性中设置值。 3 关系:依赖注入不能单独存在,需要在lOC基础之上完成操作。...
  • DI和IOC区别

    2021-03-04 11:15:16
    IOC 1.IOC容器指的是一个工厂,负责创建对象 2.IOC控制反转:只是把上端对下端的依赖换成第三方容器决定(反转...3.DI依赖注入就是实现手段,没有DI,其实就没有IOC 4.正是因为要实现IOC,所有诞生了DI的技术手段 ...
  • 传统的方式相比,当我们需要一个对象的时候,不需要直接new一个,而是去Spring容器中拿一个即可,此时我们失去了对对象的控制权,仅保有使用权。但这样也可以无需关注对象的管理。 所谓控制,指的是管理对象的...
  • IOCDI
  • spring中ioc和di区别

    2019-06-14 19:52:12
    ioc (控制反转) :更针对于容器方面而言,将我们java开发中获取资源的...di(依赖注入):它依赖于我们的ioc进行对象属性的注入,di可以看成从应用程序的角度出发,它依赖于我们的容器而完成它注入的功能。 ...
  • Spring框架中IOC和DI区别

    千次阅读 2018-04-08 11:07:06
    IOC:全称Inversion of Control,中文释义为控制反转。 简单地说,IOC就是把对象的实例化工作交由Spring容器来完成。IOC可以说是一种思想,传统的应用程序是我们自己去创建(new)对象,为"...DI:全称Dependenc...
  • IoC和DI区别 IoC和DI其实是同一概念的不同角度描述。IoC强调的是将对象实例的创建控制权由spring容器来统一管理,需要的时候从容器中取出,而不是由调用者自身去创建,从而达到降低代码耦合性与硬代码的目的。...
  • springIOC和DI

    2017-05-08 11:48:59
    什么是spring,spring核心,spring优点,spring体系结构, 入门案例,DI基础,核心API,文档内附代码
  • IOC和DI区别详解

    千次阅读 2018-07-08 15:38:12
    IOC &nbsp; inversion of control &nbsp;控制反转 DI &nbsp; Dependency Injection &nbsp;依赖注入 要理解这两个概念,首先要搞清楚以下几个问题: 参与者都有谁?依赖:谁依赖于谁?为什么需要...
  • 面向对象设计(OOD)有助于我们开发出高性能、易扩展以及易复用的程序。其中,OOD有一个重要的思想那就是依赖倒置原则(DIP),并由此引申出IoCDI以及Ioc容器等...控制反转(IoC):一种反转流、依赖接口的方式
  • 主要介绍了Spring IOC和DI实现原理及实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • spring的IoC和DI详解

    2020-08-28 23:28:50
    主要介绍了spring的IoC和DI详解,还是挺不错的,这里分享给加,需要的朋友可以参考下。
  • 依赖注入的前提:  有IOC的环境,也就是将必须对象的创建权交给了Spring. ...IOCDI的的区别IOC: 控制反转,将类的对象的创建交给Spring类管理创建. DI: 依赖注入,将类里面的属性在创建类的过程中给属性...
  • IOC和DI的关系

    千次阅读 2021-04-19 19:44:26
    IOC(控制反转) 全称为:Inverse of Control .将对在自身对象中的一个内置对象的控制反转,反转后不再由自己本身的对象进行控制这个内置对象的创建,...IOC和DI的关系 ioc就是容器,di就是注入这一行为,那么di确实
  • 1.使用Spring的IOC容器,将对象之间的依赖关系交给Spring,降低组件之间的耦合性,让我们更专注于应用逻辑 2.可以提供众多服务,事务管理,WS等。 3.AOP的很好支持,方便面向切面编程。 4.对主流的框架提供...
  • 理解Spring中的IoC和DI

    千次阅读 2020-12-28 21:27:58
    什么是IoC和DIIoC(Inversion of Control 控制反转):是一种面向对象编程中的一种设计原则,用来减低计算机代码之间的耦合度。其基本思想是:借助于“第三方”实现具有依赖关系的对象之间的解耦。DI(Dependence ...
  • 深入理解IOC和DI区别

    万次阅读 2019-08-19 10:23:57
    相信很多人都对IOC和DI都大概理解,但是要你说的话就很模糊了 IOC是一种程序设计的思想(控制反转),并不是什么技术,用来管理我们程序中的对象对象之间的依赖关系,如果不用IOC容器,那么程序中所有对象的依赖...
  • Spring中的IOC和DI

    千次阅读 2020-12-19 00:40:28
    一、IOC介绍IoC(Inverse of Control:控制反转)是一种设计思想,就是将原本在程序中手动创建对象的控制权,交由Spring框架来管理。IoC 容器是 Spring 用来实现 IoC 的载体, IoC 容器实际上就是个Map(key,value),Map...
  • 什么是IOC和DI

    2021-08-06 20:40:37
    在学习spring框架的过程中一定会学过Spring的IoC(控制反转) 、DI(依赖注入)这两个概念,下面是我对IoC(控制反转) 、DI(依赖注入)的理解。 一、IOC是 什么? IOC的英文名字是Inversion of Control,IOC即“控制反转”...
  • Spring的IoCDI差异

    2018-04-02 20:34:37
    一、IoC  IoC,全称为Inversion ...其包括依赖注入(Dependency Injection,简称DI依赖查找(Dependency Lookup)。  IoC有两个重点,一是控制,二是反转。容器控制应用程序所需要外部资源的创建管理,然...
  • 3. IoC和DI简介

    2022-03-08 18:39:27
    IoC和DI简介一. 控制反转依赖注入1. IoC的核心设计思想2. IoC---Inversion of Control---控制反转3. DI---Dependency Injection---依赖注入二. IoC功能中的三个常用接口实现类1. BeanFactory接口2. ...
  • IOC——控制反转,把对象的创建交给了Spring中的XML配置。 DI——依赖注入,把类里面的属性中设置值。 两者关系——DI是在IOC基础上完成操作,毕竟有对象后才能注入属性。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 66,913
精华内容 26,765
关键字:

ioc和di的区别

友情链接: trigger.rar