很多的时候,我们讲spring,都会提到spring的核心功能,IOC和DI。即控制反转和依赖注入。
很多的文章,在提到两者的时候,更多的是把他们等同起来看,即普遍认为ioc就是di,di也就是ioc。
其实不然,可以这样子认为:通常情况下,我们的程序都不可能完全的由一个类来完成一整个复杂的业务,所以当我们在一个业务类A要调用另外一个业务类B的时候,我们都是手工的去new 一个对象出来。这个是我们自己来做的。由程序员来控制这个被调用类B的使用情况和生命周期。现在有了spring容器,我们可以把这样的操作权交给spring容器来帮我们完成。即我们把需要调用的业务类B通过xml配置的方式,来帮我们new一个实例对象。这就是控制反转
依赖注入是这样的,上面讲到了A要引用B,需要我们在某个时候时刻手工来setter一下,即
A a =new A();
B b = new B();
a.setB(b);
这样我们就把B的对象实例化到A中了,但是我们可以通过spring容器来帮我们完成这一步,
<bean id="b" class="com.B"></bean>
<bean id="A" class="com.A">
<property name="b" ref="b"></property>
</bean>
这样子我们就把B注入到了A中
谢谢我讲完了
Thx
分享到:
相关推荐
什么是spring,spring核心,spring优点,spring体系结构, 入门案例,DI基础,核心API,文档内附代码
Spring IoC 和 DI 注解开发 Spring IoC 和 DI 注解开发概述 Spring IoC(Inverse of Control,控制反转)是一种软件设计模式,它将传统的控制权从应用程序转移到框架中,使得应用程序更加灵活和可扩展。DI...
Spring IOC和DI的区别在于,IOC是一种设计思想,强调的是控制权的转移,而DI是实现这一思想的具体方式,即通过外部容器来管理对象的依赖关系。理解这两者的关系有助于我们更好地设计和实现面向对象的应用。 在实际...
### Spring IOC与DI注解开发知识点详解 #### 一、Spring框架...通过以上内容,我们可以了解到Spring框架中IOC和DI的基本概念,以及如何配置和使用数据源(连接池)。这为开发高效稳定的企业级应用提供了坚实的基础。
Spring IOC和DI实现原理及实例解析 Spring IOC(Inversion of Control,控制反转)是Spring框架的基础,它简单地说就是创建对象由以前的程序员调用new构造方法,变成了交由Spring创建对象。DI(Dependency Inject,...
在传统的软件设计中,对象的创建和依赖关系的维护通常由代码自身来完成,而在Spring Ioc中,这些控制权被反转给了Spring容器,使得对象的生命周期管理和依赖注入变得更为灵活和可扩展。 **一、控制反转(IoC)概念*...
在实际应用中,DI通常作为IoC容器的一部分来实现,例如Spring框架中的BeanFactory或ApplicationContext,它们都提供了依赖注入的功能,从而帮助开发人员遵循IoC的原则,构建出更加灵活、可维护的软件系统。...
JAVAEE之Spring IoC&DI Spring IoC(Inversion of Control,即控制反转)是Spring框架的核心机制之一,它提供了一种解耦合的方式,使得应用程序的各个组件之间能够松散耦合,提高了系统的灵活性和可维护性。 在传统...
Spring 框架是Java开发中的核心框架,它主要由两个关键部分组成:IOC(Inversion of Control,控制反转)和AOP(Aspect Oriented Programming,面向切面编程)。这两个概念是Spring框架的核心特性,极大地简化了企业...
Spring框架是Java开发中不可或缺的一部分,它通过提供两种核心特性——控制反转(IoC)和面向切面编程(AOP)来简化应用的构建。理解并掌握这两种技术对于任何Java开发者来说都至关重要。 **控制反转(IoC)**,也...
Spring的核心特性包括AOP(面向切面编程)和IOC(控制反转),以及依赖注入(DI)。以下是对这些概念的详细解释: **面向切面编程(AOP)** AOP是一种编程范式,它允许开发者将关注点从主业务逻辑中分离出来,例如...
通过对Spring的IOC、DI和动态代理的理解,我们可以自行构建一个简化的AOP系统,实现对特定方法的增强,从而达到类似Spring AOP的效果。这种方法对于学习Spring AOP的工作原理非常有帮助,同时也为在没有Spring AOP...
标题 "ioc_di (1)" 暗示了我们即将探讨的话题是有关于IoC(Inversion of Control)和DI(Dependency Injection),这是Spring框架中的核心概念。这些概念在软件工程中至关重要,因为它们有助于实现松耦合和可维护性...
Spring IOC,全称...通过`TestSpringIoc`的测试,我们可以确保Spring IOC的配置和使用符合预期,保证了代码的正确性和灵活性。同时,这样的测试也有助于理解和学习Spring IOC的工作机制,提升对Spring框架的理解。
在实际开发中,我们可能会使用Spring Tool Suite(STS)、IntelliJ IDEA等集成开发环境,配合Maven或Gradle构建工具,以及各种测试框架来实现和测试基于Spring的DI和IOC的应用。 在压缩包文件"spring3_day01"中,...
例如,`SpringIOC`目录中的配置文件(如`applicationContext.xml`)用于定义bean的定义和它们之间的依赖关系。通过XML或注解方式声明bean,Spring可以自动管理bean的实例化、初始化和销毁,从而简化了代码并提高了可...
- **依赖注入(DI,Dependency Injection)**:是IOC的一种实现方式,Spring通过DI管理对象的依赖关系,即在运行时将依赖的对象注入到需要它们的组件中。 **2. Spring容器** - **Bean工厂(BeanFactory)**:...
在"什么是SpringIOC?如何理解SpringIOC?"和"解析Spring DI 依赖注入的5种方式"这两篇文章中,作者通过实际的代码示例展示了如何在Spring应用中使用这些注入方式。通过下载提供的工程代码,你可以亲自动手实践,...
Spring IoC 容器通过 XML 配置文件或注解方式实现对象的初始化和依赖注入。开发者可以定义bean的配置,如类名、属性值等,并声明bean之间的依赖关系。容器根据这些配置信息创建并管理bean,自动完成对象的实例化和...
- **依赖注入(Dependency Injection, DI)**: Spring通过构造器注入、设值注入或者接口注入的方式,将对象的依赖关系以声明式的方式定义在配置文件或注解中,由Spring容器负责实例化和组装Bean。 - **AOP(面向切...