`

spring 40天全程跟踪 第一天spring依赖注入控制反转

    博客分类:
  • Java
阅读更多

以前都是用MyEclipse集成开发,开发速度快,但是很多时候对本身的机制不是很了解,所以现在从头开始基本配置。

依赖注入和控制反转是同一个概念,在未使用spring情况下的时候,在调用一个类的时候,需要创建类的实例,然后才能使用。有了spring以后,这个类的创建的工作有spring完成,然后注入调用者。

设置注入方法:

main.java:
public static void main(String[] args) {
		ApplicationContext ctx = new FileSystemXmlApplicationContext("conf/applicationContext.xml");
		People p = (People) ctx.getBean("axechinese");
		p.useAxe();
}
public interface People {
	public void useAxe();
}

public interface Axe {
	public void chop();
}
public class Chinese implements People {

	private Axe axe;
	
	@Override
	public void useAxe() {
		axe.chop();
	}

	public Axe getAxe() {
		return axe;
	}

	public void setAxe(Axe axe) {
		this.axe = axe;
	}

}
public class stone implements Axe {

	@Override
	public void chop() {
		System.out.println("stoneaxe chop");
	}

}
xml:文件:
<bean id="axechinese" class="com.mixian.axePeople.Chinese">
在这里将另一个bean注入给axechinese中 注意一定要有setAxe方法~
		<property name="axe">
			<ref local="stoneAxe"></ref>
		</property>
	</bean>
	
	<bean id="stoneAxe" class="com.mixian.axePeople.stone">
		
	</bean>

另一种方法:

 

ApplicationContext ctx = new FileSystemXmlApplicationContext("conf/applicationContext.xml");
		Chinese p = (Chinese) ctx.getBean("axechinese");
		p.setAxe((Axe)(ctx.getBean("stone")));
		p.useAxe();

xml文件:
<!--构造传入  -->
	<bean id="axechinese" class="com.mixian.axePeople.Chinese">
		<constructor-arg><ref bean="stone"/></constructor-arg>
	</bean>	
	<bean id="stone" class="com.mixian.axePeople.stone"/>

 标准的构造传入:

ApplicationContext ctx = new FileSystemXmlApplicationContext("conf/applicationContext.xml");
		Chinese p = (Chinese) ctx.getBean("axechinese");
	//	p.setAxe((Axe)(ctx.getBean("stone")));
		p.useAxe();

构造函数:
public class Chinese implements People {

	private Axe axe;
	
	public Chinese(){}
	
	public Chinese(Axe axe){
		this.axe = axe;
	}
	public Axe getAxe() {
		return axe;
	}

	public void setAxe(Axe axe) {
		this.axe = axe;
	}
	@Override
	public void useAxe() {
		axe.chop();
	}

 

分享到:
评论

相关推荐

    Spring 控制反转 依赖注入

    **Spring 框架中的控制反转 (IoC) 和依赖注入 (DI)** 在软件开发中,控制反转(Inversion of Control,简称IoC)是一种设计原则,它将对象的创建和管理权从代码中剥离出来,转交给一个外部容器(如Spring框架)。...

    spring 控制反转和依赖注入.docx

    Spring 控制反转和依赖注入基础知识详解 Spring 框架是 Java 企业级开发的轻量级开发框架,于 2003 年创建,主要用于解决企业级开发的复杂性。其主要优势在于分层架构,允许在不同层级中使用一个组件(其他框架)...

    springIOC控制反转 依赖注入实例

    Spring IOC(Inversion of Control,控制反转)是Spring框架的核心特性,它改变了传统Java应用程序中对象的创建和管理方式。在传统的程序设计中,我们通常手动创建对象并管理它们之间的依赖关系,而在Spring中,这些...

    Spring 控制反转和依赖注入

    Spring 控制反转和依赖注入

    java中spring依赖注入的简单例子

    javaEE 开发中 现在最成熟的框架之一应该就是spring了 spring框架最强大的地方就是实现了依赖注入 也叫控制反转 最近的一个项目中用的就是 spring框架 spring框架是工厂模式的应用结合了MVC的设计思想 大家可以...

    Spring_01_入门篇_依赖注入(控制反转)_ANN

    Spring的核心特性之一是依赖注入(Dependency Injection,简称DI),也称为控制反转(Inversion of Control,简称IoC)。 **依赖注入 (DI) 和 控制反转 (IoC)** 依赖注入是Spring的核心设计原则之一。它是一种设计...

    Spring Ioc 注解 依赖注入

    - **依赖注入**:依赖注入是一种设计模式,通过依赖注入,一个类的对象不再负责创建其依赖的对象,而是由外部容器(Spring容器)来负责创建这些依赖并注入到需要它们的地方。 #### 三、Spring IoC容器的工作原理 ...

    自定义spring控制反转(依赖注入)

    在Spring框架中,控制反转(IoC,Inversion of Control)和依赖注入(DI,Dependency Injection)是核心设计理念,它们极大地简化了Java应用的开发和维护。本文将深入探讨如何自定义Spring实现读取`...

    自己实现的Spring反转控制和依赖注入

    Spring框架是Java开发中广泛应用的一个开源框架,以其优秀的反转控制(Inversion of Control,IoC)和依赖注入(Dependency Injection,DI)理念为核心,极大地简化了企业级应用的开发工作。下面将详细介绍这两个...

    spring依赖注入底层详解

    Spring依赖注入是Spring框架的核心特性之一,它极大地简化了Java应用程序的开发,使得对象之间的依赖关系得以解耦,提高了代码的可测试性和可维护性。本文将深入探讨Spring依赖注入的底层实现机制。 首先,我们要...

    spring的控制反转和依赖注入详解

    spring的控制反转和依赖注入详解

    Spring 核心机制(依赖注入)

    在Spring框架中,依赖注入和控制反转实际上是同一概念的不同表达形式。当程序中的组件需要另一个组件的帮助时,通常是由调用者(即需要帮助的角色)来创建被调用者(即提供帮助的角色)的实例。但在Spring中,这个...

    spring依赖注入

    Spring依赖注入是Spring框架的核心特性之一,它使得对象之间的依赖关系得以解耦,增强了代码的可测试性和可维护性。依赖注入(Dependency Injection,简称DI)的理念是,一个对象不应该负责寻找并创建它所依赖的对象...

    spring依赖注入的实现原理

    在Spring框架中,依赖注入是核心特性之一,通过控制反转(Inversion of Control,IoC)实现了组件之间的解耦。 ### 依赖注入的基本概念 依赖注入允许开发者在不修改代码的情况下,通过配置来改变对象间的依赖关系。...

    第三章 Spring4 依赖注入

    【标题】"第三章 Spring4 依赖注入"深入解析 在Spring框架中,依赖注入(Dependency Injection,简称DI)是一种核心的设计模式,它允许我们创建松耦合的代码,提高软件的可测试性和可维护性。Spring4版本进一步优化...

    spring 控制反转的模拟程序

    Spring框架是Java开发中最常用的轻量级框架之一,它的核心特性是依赖注入(Dependency Injection,简称DI),也常被称为控制反转(Inversion of Control,简称IoC)。控制反转是一种设计模式,它改变了传统应用程序...

    spring依赖注入三种方式 测试源码

    在Spring框架中,依赖注入(Dependency Injection,简称DI)是一种重要的设计模式,它使得对象之间的耦合度降低,提高了代码的可测试性和可维护性。本文将深入探讨Spring中的三种依赖注入方式,并结合源码分析其工作...

    模拟Spring的依赖注入

    在Java开发中,Spring框架是应用最广泛的IoC(Inversion of Control,控制反转)和DI(Dependency Injection,依赖注入)容器。它极大地简化了组件之间的依赖管理,提高了代码的可测试性和可维护性。本篇文章将深入...

    helloIoc.zip spring ioc控制反转简单测试代码

    Spring框架的核心特性之一就是依赖注入(Dependency Injection,简称DI),它通过控制反转(Inversion of Control,简称IOC)实现。这个"helloIoc.zip"压缩包包含的是一组用于演示Spring IOC基本概念和使用的测试...

Global site tag (gtag.js) - Google Analytics