构造方法注入
通过constructor-arg指定构造方法的参数
Source.java
package com.gary.test;
public class Source {
public void helloWorld(){
System.out.println("Hello World!");
}
}
Target.java
package com.gary.test;
public class Target {
private Source source;
public Target(Source source){
this.source = source;
}
public void sayHelloWorld(){
source.helloWorld();
}
}
applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean id="source" class="com.gary.test.Source" />
<bean id="target" class="com.gary.test.Target">
<constructor-arg ref="source" />
</bean>
</beans>
TargetTest.java
package com.gary.test;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TargetTest {
static BeanFactory factory = null;
static Target target = null;
@BeforeClass
public static void setUpBeforeClass() throws Exception {
try{
factory = new ClassPathXmlApplicationContext("applicationContext.xml");
target = (Target) factory.getBean("target");
}catch(Exception e){
e.printStackTrace();
}
}
@AfterClass
public static void tearDownAfterClass() throws Exception {
}
@Test
public void testSayHelloWorld() {
target.sayHelloWorld();
}
}
运行结果
Hello World!
demo见附件
分享到:
相关推荐
本篇主要介绍Spring中的三种注入方式,包括构造器注入、设值注入和接口注入。 **一、构造器注入** 构造器注入是通过构造函数来传递依赖对象的一种方式。当类有多个构造函数时,Spring会使用带有最多参数的构造函数...
本篇主要介绍Spring中的三种注入方式,着重讲解在"Spring三种注入方式(二)"中的内容。我们将深入探讨setter注入,这是Spring中最常见的注入方式之一。 ### 一、setter注入 setter注入是通过Spring容器调用对象的...
Spring 三种依赖注入方式 Spring 框架中提供了多种依赖注入方式,其中最常用的三种依赖注入方式分别是接口注入、设值注入和构造函数注入。下面,我们将分别对这三种依赖注入方式进行详细的介绍和分析。 一、接口...
下面将详细介绍这三种方式以及Spring的自动注入机制。 1. **基于XML的Bean定义**: 在XML配置中,我们通常在`applicationContext.xml`文件中定义Bean。例如,对于`Student`和`Teacher`类,我们分别创建`bean`标签...
在 Spring Boot 中,注入是一种非常重要的机制,用于将 bean 对象注入到其他 bean 对象中,以便实现松耦合和高内聚的设计目标。下面我们将对 Spring Boot 中的几种注入方法进行详细的介绍和分析。 1. @Autowired @...
Spring Boot引入了一种更智能的依赖注入方式——自动配置。自动配置是通过`@EnableAutoConfiguration`注解启动的,它根据项目中的类路径和特定条件自动配置Bean。例如,如果类路径下存在`MongoClient`的jar,Spring ...
本文将深入探讨Spring中的三种依赖注入方式,并结合源码分析其工作原理。 1. **构造器注入** 构造器注入是通过构造函数来传递依赖对象的。当创建一个类的新实例时,Spring容器会调用带有所需参数的构造函数,从而...
自动注入是Spring的一种便捷方式,它能自动匹配类型或名称来注入依赖。Spring会根据类型或bean的名称自动找到合适的依赖。类型注入默认是基于类型匹配的,而名称注入则需要指定`@Qualifier`注解来指定bean的名称。...
下面我们将详细探讨Spring 中的三种注入方式:接口依赖注入(Type1)、setter/getter 注入(Type2,也称为属性注入)和构造方法注入(Type3)。 1. **接口依赖注入(Type1)** 这种注入方式相对不常见,主要适用于...
Spring提供了三种主要的注入方式,分别是:构造器注入、setter注入(类型2)和基于注解的注入(类型3)。下面我们将详细探讨这三种注入方式及其应用场景。 ### 1. Setter注入 (Type2) setter注入是最常见的注入方式...
本文将详细探讨Spring中的两种主要注入方式:构造器注入和setter注入,以及它们各自的特点和适用场景。 首先,让我们理解什么是依赖注入(Dependency Injection,简称DI)。在传统的编程模式中,一个类通常会直接...
总结,Spring的依赖注入提供了构造器注入、设值注入和接口注入三种方式,帮助开发者实现松耦合和高内聚的设计。根据项目需求和场景,选择合适的方式能有效提升代码质量。同时,结合源码阅读和使用工具,如IDEA的代码...
在Spring中,IOC的主要实现方式有两种:依赖注入(Dependency Injection,简称DI)和基于接口的配置。下面将对这两种方式进行详细阐述。 一、依赖注入(Dependency Injection) 1. **构造器注入**:通过构造函数来...
花了些时间做了一个实验,彻底弄懂了spring Annotation注入的方式。凡带有@Component,@Controller,@Service,@Repository 标志的等于告诉Spring这类将自动产生对象,而@Resource则等于XML配置中的ref,告诉spring此处...
例如,你可以注入一个列表: ```xml <value>1 <value>2 <value>3 ``` 或者,使用SpEL(Spring Expression Language)表达式进行更复杂的注入: ```xml ['java.version']}" /> ``` 在这个例子中...
当我们需要注入一个Map时,Spring提供了特殊的`<map>`标签。不同于其他标签,`<entry>`子标签用于定义键值对: ```xml ``` 在这个例子中,`myBean`的`myMap`属性将被注入一个Map,其中包含键...
在Spring中,依赖注入可以通过构造器注入、设值注入和接口注入三种方式实现。 1. 构造器注入:通过在类的构造函数中传递依赖对象来完成注入。这种方式在创建对象时就确保了所有依赖都已就绪,适合于对象的依赖关系...
- **依赖注入**:依赖注入是一种设计模式,通过依赖注入,一个类的对象不再负责创建其依赖的对象,而是由外部容器(Spring容器)来负责创建这些依赖并注入到需要它们的地方。 #### 三、Spring IoC容器的工作原理 ...