Spring的DI(Ioc) - 注入集合类型
1: 首先给service添加集合类型的属性,并提供getter, setter
- package cn.gbx.serviceimpl;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.HashSet;
- import java.util.List;
- import java.util.Map;
- import java.util.Properties;
- import java.util.Set;
- import cn.gbx.daoimpl.PersonDao;
- import cn.gbx.service.PersonService;
- public class PersonServiceImpl implements PersonService {
- private Set<String> sets = new HashSet<String>();
- private List<String> list = new ArrayList<String>();
- private Map<String, String> maps = new HashMap<String, String>();
- private Properties properties = new Properties();
- private PersonDao personDao;
- private String name;
- private Integer id;
- public void save() {
- System.out.println("id = " + id + "name = " + name);
- personDao.save();
- System.out.println("service : " + " save 方法");
- }
- public PersonDao getPersonDao() {
- return personDao;
- }
- public void setPersonDao(PersonDao personDao) {
- this.personDao = personDao;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public Integer getId() {
- return id;
- }
- public void setId(Integer id) {
- this.id = id;
- }
- public Set<String> getSets() {
- return sets;
- }
- public void setSets(Set<String> sets) {
- this.sets = sets;
- }
- public List<String> getList() {
- return list;
- }
- public void setList(List<String> list) {
- this.list = list;
- }
- public Map<String, String> getMaps() {
- return maps;
- }
- public void setMaps(Map<String, String> maps) {
- this.maps = maps;
- }
- public Properties getProperties() {
- return properties;
- }
- public void setProperties(Properties properties) {
- this.properties = properties;
- }
- }
2: 配置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="personDaoImpl" class="cn.gbx.dao.PersonDaoImpl"></bean>
- <bean id="personServiceImpl" class="cn.gbx.serviceimpl.PersonServiceImpl" >
- <property name="personDao" ref="personDaoImpl"></property>
- <property name="name" value="ok-gbx"></property>
- <property name="id" value="22"></property>
- <property name="list">
- <list>
- <value>valu1</value>
- <value>valu2</value>
- <value>valu3</value>
- </list>
- </property>
- <property name="sets">
- <set>
- <value>value-1</value>
- <value>value-2</value>
- <value>value-3</value>
- </set>
- </property>
- <property name="maps">
- <map>
- <entry key="key1" value="value1"></entry>
- <entry key="key2" value="value2"></entry>
- <entry key="key3" value="value3"></entry>
- </map>
- </property>
- <property name="properties">
- <props>
- <prop key="key1">value1</prop>
- <prop key="key2">value2</prop>
- <prop key="key3">value3</prop>
- </props>
- </property>
- </bean>
- </beans>
3: 测试:
- public class SpringTest {
- @Test
- public void spring1() {
- ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");
- PersonService ps = (PersonService)ctx.getBean("personServiceImpl");
- ps.save();
- System.out.println("--------List-------------");
- for (String s : ps.getList()) {
- System.out.println(s);
- }
- System.out.println("--------sets-------------");
- for (String s : ps.getSets()) {
- System.out.println(s);
- }
- System.out.println("--------maps-------------");
- for (String key : ps.getMaps().keySet()) {
- System.out.println(key + " : " + ps.getMaps().get(key));
- }
- System.out.println("--------propertis-------------");
- for (Object key : ps.getProperties().keySet()) {
- System.out.println(key + " : " + ps.getMaps().get(key));
- }
- }
- @Test
- public void spring2() {
- MyClassPathXmlApplicationContext ctx = new MyClassPathXmlApplicationContext("beans.xml");
- PersonService ps = (PersonService)ctx.getBean("personServiceImpl");
- ps.save();
- System.out.println();
- }
- }
Spring的DI(Ioc) - 注入集合类型的更多相关文章
- Spring的DI(Ioc) - 注入bean 和 基本数据类型
注入bean有两种方式: 注入其他bean: 方式一 <bean id="orderDao" class="cn.itcast.service.OrderDaoBe ...
- Ioc和Aop扩展--多种方式实现依赖注入(构造注入,p命名空间注入,集合类型注入,注入null和注入空值)
构造注入 语法: <constructor-arg> <ref bean="bean的id"/> </constructor-arg> 1 ...
- Spring根据XML配置文件注入对象类型属性
这里有dao.service和Servlet三个地方 通过配过文件xml生成对象,并注入对象类型的属性,降低耦合 dao文件代码: package com.swift; public class Da ...
- 【Spring实战】—— 7 复杂集合类型的注入
之前讲解了Spring的基本类型和bean引用的注入,接下来学习一下复杂集合类型的注入,例如:List.Set.Map等. 对于程序员来说,掌握多种语言是基本的技能. 我们这里做了一个小例子,程序员们 ...
- IoC容器-Bean管理XML方式(注入集合类型属性)
Ico操作Bean管理(xml注入集合属性) 1,注入数组类型属性 2,注入List集合类型属性 3,注入Map集合类型属性 (1)创建类,定义数组.list.map.set类型属性,生成对应set方 ...
- Spring 注入集合类型
定义了一个类: @Service public class StringTest implements CachedRowSet,SortedSet<String>,Cloneable @ ...
- 3、Spring的DI依赖注入
一.DI介绍 1.DI介绍 依赖注入,应用程序运行依赖的资源由Spring为其提供,资源进入应用程序的方式称为注入. Spring容器管理容器中Bean之间的依赖关系,Spring使用一种被称为&qu ...
- Spring.NET学习笔记8——集合类型的注入(基础篇)
1.基础类 public class Happy { public override string ToString() { return &q ...
- Spring的DI(Ioc) - 利用构造器注入
1: 在给对象提供构造器 public class PersonServiceImpl implements PersonService { private PersonDao personDao; ...
随机推荐
- Jython安装步骤
1.下载安装包 2.执行安装 Java -jar [此处是下载的jython jar包名],或者双击jar包夜可以 3.配置环境变量 新增JYTHON_THOME的环境变量,并设置为安装路径. 配置c ...
- linux man
man能够为除命令之外的配置文件.系统调用.库调用等都能提供帮助手册,他们分别位于不同的章节中: 1.用户命令 2.系统调用 3.库调用 4.设备文件 5.配置文件 6.游戏 7.杂项 8.管理命令
- “wsimport -keep ”生成客户端报错“Use of SOAP Encoding is not supported.”
本来想用 “wsimport -keep ” 生成客户端,结果报错“Use of SOAP Encoding is not supported.” 应该是缺jar包, 闲麻烦就发现了百度经验上的 这个 ...
- mongo 学习笔记
mysql语句 : ' ,,),(,,) mongo语句: db.}}).limit() db."}) db.}}) 条件操作符1 mongodb中的条件操作符有: (>) 大于 ...
- 简单LRU算法实现缓存
最简单的LRU算法实现,就是利用jdk的LinkedHashMap,覆写其中的removeEldestEntry(Map.Entry)方法即可,如下所示: java 代码 import java.ut ...
- (jdbc)取得数据库自动生成的主键方法
一些类,在前面的博客中有,就不重复了 public class Test2 { TestDAO t=new TestDAO(); /*前提是数据表的主键是自动增加的, *取得数据库自动生成的主键 * ...
- hdu4940 Destroy Transportation system(2014多校联合第七场)
题意很容易转化到这样的问题:在一个强连通的有向图D中是否存在这样的集合划分S + T = D,从S到T集合的边权大于从T到S集合的边权. 即D(i, j) > B(j, i) + D(j, i ...
- springmvc配置文件-1
项目1: web.xml <?xml version="1.0" encoding="UTF-8" standalone="no"?& ...
- ubuntu安装StarDict星际译王
http://sixipiaoyang.blog.163.com/blog/static/6232358820144146386437/ 1,安装StarDict星际译王. 这是linux系统中最常用 ...
- java中局部变量和成员变量主要是他们作用域的区别
成员变量个是类内部:局部变量是定义其的方法体内部(或者方法体内部的某一程序块内——大括号,主要看定义的位置).另外,成员变量可以不显式初始化,它们可以由系统设定默认值:局部变量没有默认值,所以必须设定 ...