1.创建Maven项目,项目名称springdemo47,如图所示

Spring4-EL从 Map 和 List 中获取元素_第1张图片


2.配置Maven,修改项目中的pom.xml文件,修改内容如下


  1.0.0
  shequ
  springdemo13
  0.0.1-SNAPSHOT
  
  
  	1.7
  	UTF-8
  	UTF-8
  
  
  
  	
  		codelds
  		https://code.lds.org/nexus/content/groups/main-repo
  	
  
  
  
  	
  		javax.annotation
  		jsr250-api
  		1.0
  	
  	
  	
  		org.springframework
  		spring-test
  		4.1.4.RELEASE
  	
  	
  	
  		junit
  		junit
  		4.10
  	
  	
  	
  		org.springframework
  		spring-core
  		4.1.4.RELEASE
  	
  	
  	
        org.springframework
        spring-context
        4.1.4.RELEASE
    
    
    
        org.springframework
        spring-jdbc
        4.1.4.RELEASE
    
    
    
        mysql
        mysql-connector-java
        5.1.34
    
       
  
  


3.在src/main/java下创建实体Bean Forum,包名(com.mycompany.shequ.bean)如图所示

Spring4-EL从 Map 和 List 中获取元素_第2张图片


4.实体Bean Forum的内容如下

package com.mycompany.shequ.bean;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component("forumBean")
public class Forum {
	private int fid;
	private String name;
	private String listName;
	public String getListName() {
		return listName;
	}
	@Value("#{forumPostBean.lists[0]}")
	public void setListName(String listName) {
		this.listName = listName;
	}
	public int getFid() {
		return fid;
	}
	public void setFid(int fid) {
		this.fid = fid;
	}
	public String getName() {
		return name;
	}
	@Value("#{forumPostBean.maps['map1']}")
	public void setName(String name) {
		this.name = name;
	}
}


5.在src/main/java下创建实体Bean ForumPost,包名(com.mycompany.shequ.bean)如图所示

Spring4-EL从 Map 和 List 中获取元素_第3张图片


6.实体Bean ForumPost的内容如下

package com.mycompany.shequ.bean;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.stereotype.Component;

@Component("forumPostBean")
public class ForumPost {
	private Map maps;
	private List lists;
	
	public ForumPost() {
		super();
		lists = new ArrayList(0);
		lists.add("list1");
		lists.add("list2");
		
		maps = new HashMap();
		maps.put("map1", "value1");
		maps.put("map2", "value2");
	}
	public Map getMaps() {
		return maps;
	}
	public void setMaps(Map maps) {
		this.maps = maps;
	}
	public List getLists() {
		return lists;
	}
	public void setLists(List lists) {
		this.lists = lists;
	}
}


7.在src/main/resource下创建核心的配置文件applicationContext.xml,如图所示

Spring4-EL从 Map 和 List 中获取元素_第4张图片


8.核心的配置文件applicationContext.xml的内容如下


	
	


9.在src/test/java下创建测试文件AppTest,包名(com.mycompany.shequ.test)如图所示

Spring4-EL从 Map 和 List 中获取元素_第5张图片


10.测试文件AppTest的内容如下

package com.mycompany.shequ.test;

import org.junit.Test;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.mycompany.shequ.bean.Forum;


public class AppTest {
	
	@Test
	public void beanTest(){
	    ConfigurableApplicationContext context = new 
	    ClassPathXmlApplicationContext("applicationContext.xml");
		Forum forum = (Forum) context.getBean("forumBean");
		System.out.println(forum.getName());
		System.out.println(forum.getListName());
		
	}
}	


11.在测试类AppTest的beanTest方法上右键运行,输出结果如图所示

Spring4-EL从 Map 和 List 中获取元素_第6张图片

Spring4-EL从 Map 和 List 中获取元素_第7张图片