`
kingxss
  • 浏览: 972021 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Spring属性注入和构造函数注入参考

阅读更多

个人学习参考所用,勿喷!

 

1.Pojo如下:

package com.beans;

import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.Properties;
public class Firstbean {
	private int intValue;
	private String strValue;
	private List<?> listValue;
	private Set<?> setValue;
	private Map<?,?> mapValue;
	private String[] strValues;
	private Properties props;
	private Date dateValue;
	private Secondbean sb;

	public Firstbean() {
		
	}
	
	public Firstbean(int intValue, String strValue) {
		this.intValue = intValue;
		this.strValue = strValue;
	}
	
	//get set方法均省略
}

 

2.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"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

	<bean id="firstbean" class="com.beans.Firstbean">
		<!--基本类型和String类型的注入-->
		<property name="intValue" value="123" />
		<property name="strValue" value="123" />

		<!--各种常用集合类型的注入-->
		<property name="listValue">
			<list>
				<value>listValue1</value>
				<value>listValue2</value>
			</list>
		</property>
		
		<!--Spring默认集合中的元素作为字符串对待 -->
		<property name="setValue">
			<set>
				<value type="int">123</value>
				<value type="int">listValue</value>
			</set>
		</property>
		<property name="mapValue">
			<map>
				<entry key="key1" value="value1" />
				<entry key="key2" value="value2" />
			</map>
		</property>
		<property name="strValues">
			<list>
				<value>array1</value>
				<value>array2</value>
			</list>
		</property>
		<property name="props">
			<props>
				<prop key="key1">value1</prop>
				<prop key="key2">value2</prop>
			</props>                
		</property>
		
		<!--时间类型的注入-->
		<property name="dateValue">
			<value>2011-2-22</value>
		</property>

		<!--自定义类型的注入,使用local属性则只检测本XML文件-->
		<property name="sb" ref="secondbean" />
	</bean>

	<!-- 尤其要注意这里的对时间类型注入方式的要求,已经内部Bean的声明  -->
	<bean id="customEditorConfigurer" class="org.springframework.beans.factory.config.CustomEditorConfigurer">
		<property name="customEditors">
			<map>
				<entry key="java.util.Date">
					<bean class="com.util.UtilDatePropertyEditor">
						<property name="format" value="yyyy-MM-dd" />
					</bean>
				</entry>
			</map>
		</property>
	</bean>
	
	<bean id="secondbean " class="com.beans.Secondbean" />
</beans>
 

3.构造函数方式的注入如下:

<bean id="firstbean1" class="com.beans.Firstbean">
	<constructor-arg index="0" type="int" value="123" />
	<constructor-arg index="1" type="java.lang.String" value="abc" />
</bean>
 

 

 

 

分享到:
评论

相关推荐

    Spring.Net演示实例(IOC、AOP、属性注入、构造函数注入、通知过滤器)

    今天有空,写了基于C#使用Spring.Net的演示实例,希望能给有需要的人带来帮助,其中演示了配置下的IOC、AOP、属性注入、构造函数注入、通知过滤器、以及不使用配置直接代码硬编的AOP动态代码过程,另外还增加了...

    C# Spring.Net演示实例【更新版】(IOC、AOP、属性注入、构造函数注入、通知过滤器)

    今天有空,写了基于C#使用Spring.Net的演示实例,希望能给有需要的人带来帮助,其中演示了配置下的IOC、AOP、属性注入、构造函数注入、通知过滤器、以及不使用配置直接代码硬编的AOP动态代码过程,另外还增加了...

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

    构造注入则是通过类的构造函数来注入依赖。这种方式在对象创建时就完成了依赖的设置,适用于依赖对象必须在实例化时就完全确定的情况。例如: ```java public class User { private String name; public User...

    Spring属性注入

    在Spring中,属性注入(Property Injection)是一种重要的功能,它允许开发者在不直接创建对象的情况下设置对象的属性,从而实现了松耦合和更好的可测试性。 **XML方式的属性注入** 1. **Set注入**:这是Spring ...

    spring setter 和构造 注入 例子 spring 4.2.0

    构造器注入则在创建对象时就确保依赖完整,有利于保持对象的封装性,但过多的构造参数可能会导致构造函数过于复杂。 在Spring 4.2.0版本中,这两种注入方式都得到了很好的支持,并且Spring提供了更高级的特性,比如...

    Spring Ioc(依赖注入)入门例子--属性注入

    让我们深入探讨一下Spring的IoC和属性注入。 IoC是设计模式中的一个概念,它改变了传统程序设计中对象之间的依赖关系创建方式。在没有IoC的情况下,对象通常会自行创建其依赖的对象实例,而IoC容器则负责管理这些...

    Spring设值注入和构造注入(通过xml).zip

    构造注入强制在对象创建时就提供所有依赖,有助于保证对象的完整性和一致性,但可能会导致复杂的构造函数。设值注入则更灵活,可以在对象创建后任何时候注入依赖,但可能导致对象在不完整的状态下被使用。 Spring的...

    spring依赖注入底层详解

    1. 反射:Spring使用Java的反射API动态地查找和调用构造函数、setter方法等,实现对象的创建和属性设置。当容器遇到带有@Autowired注解的字段或方法时,会根据类型或名称找到合适的依赖,并通过反射进行注入。 2. ...

    Spring的注入方式详解

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

    spring的注入方式

    构造注入是在对象实例化时通过构造函数来传递依赖。这种方式强制在创建对象时就提供所有必要的依赖,因此有助于确保对象的完整性和正确性。在Spring中,你可以定义带有不同构造函数的bean,并通过`constructor-arg`...

    JavaEE搭建Spring环境,完成设置注入和构造注入

    在JavaEE开发中,Spring框架是一个非常重要的组件,它提供了依赖注入(Dependency Injection,简称DI)功能,使得代码更加解耦、易于测试和维护。本教程将指导你如何搭建Spring环境,并实现设置注入和构造注入。 ...

    Spring In Action 属性注入

    本文将深入探讨Spring中的属性注入,以帮助开发者更好地理解和运用这一关键功能。 一、属性注入的概念与类型 属性注入是Spring框架的核心特性之一,它通过容器来控制对象的创建和初始化,而不是由对象自己管理其...

    spring依赖注入的实现原理

    2. **构造器注入**:Spring可以通过调用带有多个参数的构造函数来注入依赖。在bean配置文件中,使用`&lt;constructor-arg&gt;`标签指定构造函数参数。 3. **接口注入**:Spring提供了一个`ApplicationContextAware`接口,...

    Spring 三种依赖注入方式.doc

    Spring 框架中提供了多种依赖注入方式,其中最常用的三种依赖注入方式分别是接口注入、设值注入和构造函数注入。下面,我们将分别对这三种依赖注入方式进行详细的介绍和分析。 一、接口注入 接口注入是指通过接口...

    Java-EE.rar_Java EE控制反转_javaee 控制反转_构造函数注入

    Spring支持两种主要的注入方式:属性注入和构造函数注入。属性注入是通过setter方法将依赖对象设置到目标对象的属性中;构造函数注入则是通过调用带有依赖对象参数的构造函数来完成初始化。 构造函数注入的优点在于...

    Spring框架构造注入type属性实例详解

    在本文中,我们详细介绍了Spring框架构造注入type属性实例的详解,包括构造注入的原理、构造函数的类型、type属性的作用等。我们也讨论了构造注入的优点,例如降低耦合度、提高灵活性和提高可读性。希望本文能够对...

    Spring依赖注入的方式

    设值注入,也称为属性注入,是通过setter方法来注入依赖。当对象已经创建,但还需要添加或修改依赖时,这种方式非常适用。 ```java public class UserService { private UserRepository userRepository; public ...

    Springioc注入Demo

    1. **构造器注入**:通过构造函数传递依赖对象,Spring容器会根据构造函数的参数类型创建并注入相应的对象。这种方式确保对象在创建时就具备所有依赖,增强了对象的完整性和一致性。 2. **setter注入**:通过setter...

    spring依赖注入

    构造器注入是在对象实例化时通过构造函数传入依赖;setter注入则是通过调用对象的setter方法来设置依赖;接口注入则相对较少使用,它通过实现特定接口来注入依赖。 首先,我们来看看构造器注入。在类中定义构造器,...

    SpringIoc注入

    1. **构造器注入**:通过构造函数传递依赖对象,每个构造函数参数代表一个依赖。这种方式确保对象在创建时就具备了所有必需的依赖。 2. **setter注入**:通过setter方法来注入依赖。Spring容器调用带有@Autowired...

Global site tag (gtag.js) - Google Analytics