以前都是用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 框架中的控制反转 (IoC) 和依赖注入 (DI)** 在软件开发中,控制反转(Inversion of Control,简称IoC)是一种设计原则,它将对象的创建和管理权从代码中剥离出来,转交给一个外部容器(如Spring框架)。...
Spring 控制反转和依赖注入基础知识详解 Spring 框架是 Java 企业级开发的轻量级开发框架,于 2003 年创建,主要用于解决企业级开发的复杂性。其主要优势在于分层架构,允许在不同层级中使用一个组件(其他框架)...
Spring IOC(Inversion of Control,控制反转)是Spring框架的核心特性,它改变了传统Java应用程序中对象的创建和管理方式。在传统的程序设计中,我们通常手动创建对象并管理它们之间的依赖关系,而在Spring中,这些...
Spring 控制反转和依赖注入
javaEE 开发中 现在最成熟的框架之一应该就是spring了 spring框架最强大的地方就是实现了依赖注入 也叫控制反转 最近的一个项目中用的就是 spring框架 spring框架是工厂模式的应用结合了MVC的设计思想 大家可以...
Spring的核心特性之一是依赖注入(Dependency Injection,简称DI),也称为控制反转(Inversion of Control,简称IoC)。 **依赖注入 (DI) 和 控制反转 (IoC)** 依赖注入是Spring的核心设计原则之一。它是一种设计...
- **依赖注入**:依赖注入是一种设计模式,通过依赖注入,一个类的对象不再负责创建其依赖的对象,而是由外部容器(Spring容器)来负责创建这些依赖并注入到需要它们的地方。 #### 三、Spring IoC容器的工作原理 ...
在Spring框架中,控制反转(IoC,Inversion of Control)和依赖注入(DI,Dependency Injection)是核心设计理念,它们极大地简化了Java应用的开发和维护。本文将深入探讨如何自定义Spring实现读取`...
Spring框架是Java开发中广泛应用的一个开源框架,以其优秀的反转控制(Inversion of Control,IoC)和依赖注入(Dependency Injection,DI)理念为核心,极大地简化了企业级应用的开发工作。下面将详细介绍这两个...
Spring依赖注入是Spring框架的核心特性之一,它极大地简化了Java应用程序的开发,使得对象之间的依赖关系得以解耦,提高了代码的可测试性和可维护性。本文将深入探讨Spring依赖注入的底层实现机制。 首先,我们要...
spring的控制反转和依赖注入详解
在Spring框架中,依赖注入和控制反转实际上是同一概念的不同表达形式。当程序中的组件需要另一个组件的帮助时,通常是由调用者(即需要帮助的角色)来创建被调用者(即提供帮助的角色)的实例。但在Spring中,这个...
Spring依赖注入是Spring框架的核心特性之一,它使得对象之间的依赖关系得以解耦,增强了代码的可测试性和可维护性。依赖注入(Dependency Injection,简称DI)的理念是,一个对象不应该负责寻找并创建它所依赖的对象...
在Spring框架中,依赖注入是核心特性之一,通过控制反转(Inversion of Control,IoC)实现了组件之间的解耦。 ### 依赖注入的基本概念 依赖注入允许开发者在不修改代码的情况下,通过配置来改变对象间的依赖关系。...
【标题】"第三章 Spring4 依赖注入"深入解析 在Spring框架中,依赖注入(Dependency Injection,简称DI)是一种核心的设计模式,它允许我们创建松耦合的代码,提高软件的可测试性和可维护性。Spring4版本进一步优化...
Spring框架是Java开发中最常用的轻量级框架之一,它的核心特性是依赖注入(Dependency Injection,简称DI),也常被称为控制反转(Inversion of Control,简称IoC)。控制反转是一种设计模式,它改变了传统应用程序...
在Spring框架中,依赖注入(Dependency Injection,简称DI)是一种重要的设计模式,它使得对象之间的耦合度降低,提高了代码的可测试性和可维护性。本文将深入探讨Spring中的三种依赖注入方式,并结合源码分析其工作...
在Java开发中,Spring框架是应用最广泛的IoC(Inversion of Control,控制反转)和DI(Dependency Injection,依赖注入)容器。它极大地简化了组件之间的依赖管理,提高了代码的可测试性和可维护性。本篇文章将深入...
Spring框架的核心特性之一就是依赖注入(Dependency Injection,简称DI),它通过控制反转(Inversion of Control,简称IOC)实现。这个"helloIoc.zip"压缩包包含的是一组用于演示Spring IOC基本概念和使用的测试...