`

spring setter注入

 
阅读更多

setter注入,是通过在通过构造器、静态工厂或实例工厂实例好Bean后,通过调用Bean类的setter方法进行注入依赖。

spring中 bean配置文件中:

<!-- 通过setter方式进行依赖注入 -->
<bean id="setterBean" class="com.spring.service.impl.HelloApiImpl2">
<property name="message" value="Hello World!"/>
<property name="index" value="1"/>
</bean>

 传统setter方法:

HelloApi helloApi=new HelloApiImpl2()  
helloApi.setMessage("hello world");
helloApi.setIndex(1);

 setter注入方式: 

setter注入方式只有一种根据setter名字进行注入:

 

<property name="message" value="Hello World!"/>

 name是setter注入名字,value是注入的常量值。

1.创建HelloApi接口类:

package com.spring.service;
public interface HelloApi {
    public void sayHello();
}

 2.创建实现HelloApi接口HelloApiImpl2类:

package com.spring.service.impl;
import com.spring.service.HelloApi;
public class HelloApiImpl2 implements HelloApi {
    private String message;
    private int index;  
	public String getMessage() {
		return message;
	}
	public void setMessage(String message) {
		this.message = message;
	}
	public int getIndex() {
		return index;
	}
	public void setIndex(int index) {
		this.index = index;
	}
	@Override
	public void sayHello() {
		System.out.println(index+":"+message);
	}

}

 3.创建Bean 配置spring-setterDependencyInject.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"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- 通过setter方式进行依赖注入 -->
<bean id="setterBean" class="com.spring.service.impl.HelloApiImpl2">
<property name="message" value="Hello World!"/>
<property name="index" value="1"/>
</bean>
</beans>

 4.创建SetterDependencyInjectTest测试类:

package com.spring.test;
import org.junit.Test;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.spring.service.HelloApi;
public class SetterDependencyInjectTest {
@Test
public void setterDI(){
	BeanFactory beanFactory=new ClassPathXmlApplicationContext("spring-setterDependencyInject.xml");
 HelloApi bean=beanFactory.getBean("setterBean",HelloApi.class);
 bean.sayHello();
}
}

 5.测试结果:

1:Hello World!

 

 

 

分享到:
评论

相关推荐

    spring的setter注入和构造注入(XML讲解以及常见错误)

    setter注入是Spring中最常用的注入方式之一。通过在类中定义setter方法,Spring容器可以在创建对象后,通过这些setter方法设置对象的属性值。以下是一个简单的例子: ```java public class User { private String ...

    spring setter 和构造 注入 例子 spring 4.2.0

    setter注入是通过Spring容器调用对象的setter方法来设置其依赖的对象。这种方式比较灵活,因为可以在运行时改变对象的依赖。例如,如果你有一个`UserService`类,它依赖于`UserDao`,你可以定义如下的setter方法: ...

    Spring - -setter方式 向bean中注入各种类型的值

    综上所述,这篇博客可能涵盖了Spring中setter注入的各个方面,从基础用法到高级技巧,包括源码层面的理解,对开发者深入理解和运用Spring DI机制非常有帮助。通过阅读这篇博客,读者应该能掌握如何在实际项目中灵活...

    spring的setter注入实现mysql数据库的连接

    在Spring框架中,setter注入是一种常见的依赖注入方式,它允许我们通过setter方法来设置对象的属性,从而实现组件之间的解耦。本篇文章将详细讲解如何使用setter注入来实现与MySQL数据库的连接。 首先,我们需要...

    Spring依赖注入使用setter设注入demo

    在setter注入中,Spring通过调用bean对象的setter方法来设置其依赖的属性值。以下是一个简单的步骤来展示setter注入的工作流程: 1. **定义Bean**: 创建一个类,这个类代表一个Bean,它可能包含需要注入的依赖。...

    Spring之Construcotrer注入和setter注入不同的XML写法方式

    Spring之Construcotrer注入和setter注入不同的XML写法方式 ,具体效果和过程看博文http://blog.csdn.net/evankaka/article/details/44878225

    Spring_0200_IOC_Introduction setter注入

    本篇将重点讲解Spring中的IOC,特别是setter注入的原理和使用。 **IOC原理** IOC的核心思想是将对象的创建和管理交给一个专门的容器,即Spring的IOC容器。在传统的编程中,我们通常手动创建对象并管理它们之间的...

    spring依赖注入底层详解

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

    spring依赖注入

    在Spring中,依赖注入主要有三种方式:构造器注入、setter注入和接口注入。构造器注入是在对象实例化时通过构造函数传入依赖;setter注入则是通过调用对象的setter方法来设置依赖;接口注入则相对较少使用,它通过...

    Spring依赖注入检查.

    Spring框架提供了两种主要的DI方式:构造器注入和setter注入。 1. **构造器注入**: 当类需要依赖其他对象时,Spring可以通过构造函数传递这些依赖。这样,每次创建类的新实例时,依赖项都会自动设置。例如: ``...

    Java开发学习(六)----DI依赖注入之setter及构造器注入解析.doc

    Spring 框架基于这些知识点,为我们提供了两种注入方式:setter 注入和构造器注入。 二、setter 注入 setter 注入是指通过 setter 方法将依赖对象注入到 Bean 中。例如,在 BookServiceImpl 中定义了引用类型属性 ...

    Spring注入的方式

    本文将详细探讨Spring中的两种主要注入方式:构造器注入和setter注入,以及它们各自的特点和适用场景。 首先,让我们理解什么是依赖注入(Dependency Injection,简称DI)。在传统的编程模式中,一个类通常会直接...

    Spring学习笔记(6)----编码剖析Spring依赖注入的原理

    在Spring中,DI主要通过两种方式实现:构造器注入和setter注入。构造器注入是在创建对象时通过构造函数传入依赖,而setter注入则是在对象创建后通过setter方法设置依赖。 当我们使用`@Autowired`注解时,Spring容器...

    spring依赖注入的实现原理

    1. **setter方法注入**:Spring通过调用对象的setter方法来设置其依赖的实例。在bean配置文件中,使用`&lt;property&gt;`标签指定依赖属性。 2. **构造器注入**:Spring可以通过调用带有多个参数的构造函数来注入依赖。在...

    Spring的注入方式详解

    下面我们将详细探讨Spring 中的三种注入方式:接口依赖注入(Type1)、setter/getter 注入(Type2,也称为属性注入)和构造方法注入(Type3)。 1. **接口依赖注入(Type1)** 这种注入方式相对不常见,主要适用于...

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

    2. **设值注入(Setter注入)** 设值注入是通过setter方法来注入依赖。这种方式允许对象在创建后进行初始化,或者在不改变构造函数签名的情况下注入依赖。例如: ```java public class UserService { private ...

    Spring三种注入方式(二)

    我们将深入探讨setter注入,这是Spring中最常见的注入方式之一。 ### 一、setter注入 setter注入是通过Spring容器调用对象的setter方法来设置依赖关系。以下是一个简单的示例: ```java public class UserService...

    SpringIoc注入

    通过构造器注入、setter注入以及接口注入,我们可以根据实际需求选择合适的方式来管理对象的依赖。同时,Spring提供的`@Autowired`和`@Qualifier`等注解,以及XML和Java配置类,为开发者提供了丰富的选择,使代码...

    spring的注入方式

    在Spring框架中,依赖注入(Dependency Injection,简称DI)是一种重要的设计模式,它使得对象间的依赖关系得以解耦,提高了代码的可测试性和可维护性。Spring提供了多种注入方式,包括set注入、构造注入和自动注入...

    spring_xml.zip

    在Spring框架中,setter注入是一种常见的依赖注入方式,它允许我们通过setter方法来设置对象的属性。本篇文章将深入探讨Spring框架中的setter注入,以及如何通过XML配置文件进行相关设置。 首先,我们要理解什么是...

Global site tag (gtag.js) - Google Analytics