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

Spring对字段和集合的注入---依赖注入

 
阅读更多

Spring容器中,对于Bean的属性,或者说是集合,可以使用Spring容器进行值的注入和加载。包括基本类型的值的注入和容器类的注入。首先需要写一个Bean.

package com.bird.service.impl;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Properties;
import java.util.Set;

import com.bird.dao.PersonDao;

public class PersonServerBean {

	private PersonDao personDao;
	private String name;
	private Set<String> set = new HashSet<String>();
	private List<String> list = new ArrayList<String>();
	private Properties properties = new Properties();
	private Map<String,String> map = new HashMap<String,String>();

	public Map<String, String> getMap() {
		return map;
	}

	public void setMap(Map<String, String> map) {
		this.map = map;
	}

	public Properties getProperties() {
		return properties;
	}

	public void setProperties(Properties properties) {
		this.properties = properties;
	}

	public List<String> getList() {
		return list;
	}

	public void setList(List<String> list) {
		this.list = list;
	}

	public Set<String> getSet() {
		return set;
	}

	public void setSet(Set<String> set) {
		this.set = set;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public PersonDao getPersonDao() {
		return personDao;
	}

	public void setPersonDao(PersonDao personDao) {
		this.personDao = personDao;
	}

	public void init() {
		personDao.add();
		System.out.println(name);
	
		for(String value : set){
			System.out.println(value);
		}
		
		for(String temp:list){
			System.out.println(temp);
		}
		
		for(int i = 1; i <= properties.size(); i++){
			System.out.println(properties.getProperty(String.valueOf(i)));
		}
		
		for(Entry<String, String> entry :map.entrySet()){
			System.out.println(entry.getKey()+"=="+entry.getValue());
		}
	}
}

在Bean.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:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
           http://www.springframework.org/schema/context
           http://www.springframework.org/schema/context/spring-context-2.5.xsd" >
           <context:annotation-config/>
           
	<!-- 
	
	<bean id="personDao" class="com.bird.dao.impl.PersonDaoBean"></bean>
	
	
	<bean id="personService" class="com.bird.service.impl.PersonServerImpl" 
	init-method="init" destroy-method="destory" scope="prototype"></bean>
	 
	 
	 
	<bean id="personServerBean" class="com.bird.service.impl.PersonServerBean">
		<property name="personDao" ref="personDao"></property>
	</bean>
	-->
	
	<bean id="personServerBean" class="com.bird.service.impl.PersonServerBean">
		<property name="personDao">
			<bean class="com.bird.dao.impl.PersonDaoBean"></bean>
		</property>
		<property name="name" value="bird"></property>
		
		<property name="set">
			<set>
				<value>第一个</value>
				<value>第二个</value>
				<value>第三个</value>
			</set>
		</property>
		
		<property name="list">
			<list>
				<value>one</value>
				<value>two</value>
				<value>three</value>
			</list>
		</property>
		
		<property name="properties">
			<props>
				<prop key="1">Properties1</prop>
				<prop key="2">Properties2</prop>
				<prop key="3">Properties3</prop>
			</props>
		</property>
		
		<property name="map">
			<map>
				<entry key="key-1" value="value-1"></entry>
				<entry key="key-2" value="value-2"></entry>
				<entry key="key-3" value="value-3"></entry>
			</map>
		</property>
	</bean>
</beans>

这样就可以完成对容器类的属性注入了



分享到:
评论

相关推荐

    Spring 3 Reference中文

    1.1 依赖注入和控制反转.6 1.2 模块6 1.2.1 核心容器.7 1.2.2 数据访问/ 整合..7 1.2.3 Web ..8 1.2.4 AOP 和设备组件.8 1.2.5 测试.8 1.3 使用方案8 1.3.1 依赖管理和...

    本项目实现了对hql集合进行静态分析,获取hql对应的血缘图(表血缘 + 字段血缘)

    在数据仓库建设中,经常会使用到数据血缘追中方面的功能,本项目实现了对hql集合进行静态分析,获取hql对应的血缘图(表血缘 + 字段血缘);删除hive-exec与hadoop-common的maven依赖,使得项目更加的轻量级。重构...

    spring.net中文手册在线版

    它提供了很多方面的功能,比如依赖注入、面向方面编程(AOP)、数据访问抽象及ASP.NET扩展等等。Spring.NET以Java版的Spring框架为基础,将Spring.Java的核心概念与思想移植到了.NET平台上。 第一章 序言 第二章 ...

    Spring攻略(第二版 中文高清版).part1

    10.7 将依赖注入带给你的ActionScript客户 434 10.7.1 问题 434 10.7.2 解决方案 434 10.7.3 工作原理 435 10.8 小结 439 第11章 Grails 441 11.1 获取和安装Grails 441 11.1.1 问题 441 11.1.2 ...

    Spring攻略(第二版 中文高清版).part2

    10.7 将依赖注入带给你的ActionScript客户 434 10.7.1 问题 434 10.7.2 解决方案 434 10.7.3 工作原理 435 10.8 小结 439 第11章 Grails 441 11.1 获取和安装Grails 441 11.1.1 问题 441 11.1.2 ...

    spring3.1中文参考文档

    1.1 依赖注入和控制反转 ............................................................................................................................7 1.2 模块..............................................

    Grails 技术精解与Web开发实践【源码+样章】----下载不扣分,回帖加1分,欢迎下载,童叟无欺

    12.1 依赖注入与Spring容器基础 155 12.1.1 依赖注入 155 12.1.2 Spring容器基础 157 12.2 在Grails中使用Spring 158 12.3 本章小结 160 第13章 深入Controller 161 13.1 Controller中常用的属性与方法 161 13.2 ...

    Grails 中文参考手册

    8.3 依赖注入和服务 8.4 使用Java的服务 9. 测试 9.1 单元测试 9.2 集成测试 9.3 功能测试 10. 国际化 10.1 理解信息绑定 10.2 改变Locales 10.3 读取信息 11. 安全 11.1 预防攻击 11.2 字符串的编码和解码 11.3 ...

    Struts2 in action中文版

    9.1.2 Spring如何管理对象和注入依赖 199 9.1.3 使用接口隐藏实现 200 9.2 将Spring添加到Struts 2 202 9.2.1 让Spring管理动作、拦截器和结果的创建 203 9.2.2 使用自动连线将依赖注入到动作、拦截器和结果 205 9.3...

    HiveSqlBloodFigure:hive血缘关系解析工具

    在数据仓库建设中,经常会使用到数据血缘追中方面的功能,本项目实现了对hql集合进行静态分析,获取hql对应的血缘图(表血缘 + 字段血缘) 项目升级内容 删除hive-exec与hadoop-common的maven依赖,使得项目更加的轻...

    领域驱动设计与模式实战

    10.3.6 使用了Spring.NET框架的依赖注入 10.3.7 利用PicoContainer.NET进行自动装配 10.3.8 嵌套容器 10.3.9 服务定位器与依赖注入的比较 10.3.10 小结 10.4 面向方面编程 10.4.1 热门话题有哪些 10.4.2 AOP术语定义...

    Java面试宝典-经典

    18、Spring 的依赖注入是什么意思? 给一个 Bean 的 message 属性, 字符串类型, 注入值为 "Hello" 的 XML 配置文件该怎么写? 125 19、Jdo是什么? 125 20、什么是spring的IOC AOP 126 21、STRUTS的工作流程! 126 22、...

    asp.net知识库

    体验.net2.0的优雅(四):Provider、策略、控制反转和依赖注入 泛型最佳实践 asp.net 2.0下嵌套masterpage页的可视化编辑 C# 2.0与泛型 动态调用对象的属性和方法——性能和灵活性兼备的方法 泛型技巧系列:用泛型...

    最新Java面试宝典pdf版

    18、Spring 的依赖注入是什么意思? 给一个 Bean 的 message 属性, 字符串类型, 注入值为 "Hello" 的 XML 配置文件该怎么写? 125 19、Jdo是什么? 125 20、什么是spring的IOC AOP 126 21、STRUTS的工作流程! 126 22、...

    Java面试宝典2010版

    18、Spring 的依赖注入是什么意思? 给一个 Bean 的 message 属性, 字符串类型, 注入值为 "Hello" 的 XML 配置文件该怎么写? 19、Jdo是什么? 20、什么是spring的IOC AOP 21、STRUTS的工作流程! 22、spring 与EJB...

    Java面试笔试资料大全

    18、Spring 的依赖注入是什么意思? 给一个 Bean 的 message 属性, 字符串类型, 注入值为 "Hello" 的 XML 配置文件该怎么写? 125 19、Jdo是什么? 125 20、什么是spring的IOC AOP 126 21、STRUTS的工作流程! 126 22、...

    千方百计笔试题大全

    56、写一个函数,要求输入一个字符串和一个字符长度,对该字符串进行分隔。 14 59、Java 编程,打印昨天的当前时刻。 15 60、java 和javasciprt 的区别。 15 61、什么时候用assert? 16 62、error和exception有什么...

Global site tag (gtag.js) - Google Analytics