基于setter方法注入:
HelloBean.java
applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="helloBean" class="onlyfun.caterpillar.HelloBean">
<property name="helloWord"><value>Hello!Justin!</value></property>
</bean>
</beans>
SpringTest.java
import java.io.*;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
public class SpringTest {
public static void main(String[] args) throws IOException {
InputStream is = new FileInputStream("bean.xml");
BeanFactory factory = new XmlBeanFactory(is);
HelloBean hello = (HelloBean) factory.getBean("helloBean");
System.out.println(hello.getHelloWord());
}
}
基于构造方法注入:
public class HelloBean {
private String helloWord = "hello";
public HelloBean(String helloWord) {
this.helloWord = helloWord;
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="helloBean" class="onlyfun.caterpillar.HelloBean">
<constructor-arg index="0"><value>Greeting</value></constructor-arg>
</bean>
</beans>
index属性指明通过构造器注入的参数,索引值从0开始.
Test.java
import java.io.*;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
public class Test {
public static void main(String[] args) throws IOException {
InputStream is = new FileInputStream("bean.xml");
BeanFactory factory = new XmlBeanFactory(is);
HelloBean hello = (HelloBean) factory.getBean("helloBean");
System.out.println(hello.sayHelloToUser());
}
}
获取XML中bean对象,并调引相应的方法.
分享到:
相关推荐
【标题】"第三章 Spring4 依赖注入"深入解析 在Spring框架中,依赖注入(Dependency Injection,简称DI)是一种核心的设计模式,它允许我们创建松耦合的代码,提高软件的可测试性和可维护性。Spring4版本进一步优化...
在C++中,依赖注入容器可以是一个独立的模块,也可以是集成到应用程序中的组件。 多模块依赖注入涉及多个子系统或库之间的依赖关系管理。当软件系统由多个模块构成时,使用依赖注入可以有效地管理模块间的耦合关系...
在深入探讨Spring框架中基于注解(Annotation)的依赖注入(Dependency Injection,简称DI)实现之前,我们首先需要理解几个核心概念:Spring框架、依赖注入、以及注解本身。 ### Spring框架简介 Spring框架是一个...
// Axe的第一个实现类 public class StoneAxe implements Axe { // 默认构造器 public StoneAxe() {} // 实现Axe接口的chop方法 public void chop() { System.out.println("Stone axe chops!"); } } ``` 在...
Koin 是一个专门为 Kotlin 开发者设计的轻量级依赖注入框架,它的出现是为了简化 Android 和 Kotlin 应用中的依赖管理。Koin 的核心理念是让依赖注入变得简单、直观,使得开发者能够更加专注于业务逻辑,而不是繁琐...
// Axe的第一个实现类StoneAxe public class StoneAxe implements Axe { public StoneAxe() {} // 实现Axe接口的chop方法 public String chop() { return "石斧砍柴好慢"; } } ``` 在这个例子中,`Chinese` ...
为了模拟依赖注入,我们需要构建一个简单的依赖注入容器。这个容器由三个主要部分组成:存储依赖的存储空间、注册依赖的注册方法以及解析依赖的解析方法。 **存储空间**可以是一个对象,其中键值对应依赖的名称和...
在.NET或.NET Core中,Unity是一个流行的第三方依赖注入容器,它提供了更高级的功能,如策略注入、接口绑定、生命周期管理等。如果你的压缩包包含名为`UnityDataService`的文件,这可能意味着有一个数据服务类,它...
为了更好地实现依赖注入,可以使用第三方库如`FlexPimp`或`FlexIoC`等。这些库提供了依赖注入所需的框架和工具,简化了依赖注入的实现过程。下面是一个简单的示例: 1. **定义接口**: ```as package ...
接下来,ASP.NET Core中的依赖注入(DI)是一个强大的工具,它可以帮助我们创建松耦合的代码,使得组件之间的依赖关系可以轻松管理和替换。Autofac是.NET平台上一个流行的第三方DI容器,它支持构造函数注入、属性...
Kiwi是专为Dart和Flutter构建的一个轻量级且高效的依赖注入库,它提供了编译时的依赖解析,帮助开发者减少手动管理依赖的工作量。 【描述】: Kiwi IoC(Inversion of Control)容器作为核心组件,允许开发者声明...
Dagger,一个由Google开发的Java库,被设计为一个强大的依赖注入框架,广泛应用于Android和Java项目中。依赖注入(Dependency Injection,简称DI)是一种软件设计模式,它帮助开发者管理对象之间的依赖关系,使代码...
依赖注入(DI)是IOC的一个具体实现,它通过构造函数、属性setter方法或者接口来注入依赖。Spring框架提供了多种实现DI的方式: 1. **构造函数注入**:依赖通过构造函数的参数传递给对象。当只有一个构造函数时,...
依赖注入模式解决了这个问题,通过引入一个第三方的组件,即依赖注入容器(IoC Container),来管理组件之间的依赖关系。依赖注入容器负责提供依赖项,并将其注入到需要它们的组件中。这样,组件之间的依赖关系变得...
在Angular框架中,依赖注入(Dependency Injection,简称DI)是一个核心特性,它使得开发者能够轻松地在组件之间共享服务和对象,而无需手动创建或管理这些依赖。这一章将深入探讨Angular的依赖注入机制,帮助你理解...
本系列文章聚焦于Spring与IoC(Inversion of Control,控制反转)容器,特别是第四部分,我们将深入探讨基于注解的依赖注入。 传统的Spring DI是通过XML配置文件来定义Bean及其依赖关系的。然而,随着Spring的发展...
第一:将对象添加到依赖池中。 在main方法中,我们将MyClass1和MyClass2的实例添加到Pool中。 #include "myclass1.h" #include "myclass2.h" #include "dependencyinjection.h" #include int main(int argc, char...
依赖注入的核心思想是,一个对象不直接创建它所依赖的对象,而是通过外部容器或服务提供者来传递这些依赖。这样做的好处在于,对象之间的耦合度降低,使得代码更加松散耦合,更容易进行单元测试和模块化。 在.NET ...
依赖注入(Dependency Injection,简称DI)是软件设计模式中的一种,用于降低代码间的耦合,提高系统的可测试性和可维护性。在ASP.NET Core中,依赖注入被深度整合,成为框架的核心部分。本文将深入探讨ASP.NET Core...
twittee, 在一个tweet中,一个依赖注入容器 什么是 Twittee?Twittee是最小的,它仍然是PHP的依赖注入容器;它可能是使用最新的匿名函数支持的第一个 public 软件,它可能是第三代 PHP 。包装在英镑的characters字符...