Hints
Below is an example of "How to use Collections with Spring Expression (SpEL) Example"
|
Step.1 Start a Java Project with required jars
- Open Eclipse
- Click on menu New -> Others
- In wizards type "Java Project" and Select "Java Project"
- Click Next
- Enter project name as "SpELWithCollections", then click Next
- Goto Libraries tab, then click on Add External JARs, then select Spring's 21 Framework Jars and commons-logging-1.1.jar.
- Click Finish.
|
Step.2 Project Explorer Preview
|
<?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:p="http://www.springframework.org/schema/p"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd">
<util:list id="cityNames">
<bean class="City" p:cityName="Newyork" p:population="1002" />
<bean class="City" p:cityName="Texas" p:population="1500" />
<bean class="City" p:cityName="Wasington" p:population="2000" />
<bean class="City" p:cityName="London" p:population="4000" />
<bean class="City" p:cityName="Beijing" p:population="950" />
<bean class="City" p:cityName="Tokyo" p:population="800" />
</util:list>
<bean id="consolidatedCity" class="ConsolidatedCity">
<property name="topCityNames" value="#{cityNames.?[population >= 1000]}" />
<property name="favoriteCity" value="#{cityNames[2]}" />
<property name="firstCity" value="#{cityNames.^[population >= 1000]}" />
<property name="lastCity" value="#{cityNames.$[population >= 1000]}" />
<property name="cityNamesList" value="#{cityNames.![cityName]}" />
<property name="topCityNamesList" value="#{cityNames.?[population >= 1000].![cityName]}" />
<property name="cityNamesInDetails" value="#{cityNames.![cityName+'('+population+')']}" />
</bean>
</beans>
|
import java.util.List;
public class ConsolidatedCity {
private List topCityNames;
private City favoriteCity;
private City firstCity;
private City lastCity;
private List cityNamesList;
private List topCityNamesList;
private List cityNamesInDetails;
public List getTopCityNames() {
return topCityNames;
}
public void setTopCityNames(List topCityNames) {
this.topCityNames = topCityNames;
}
public City getFavoriteCity() {
return favoriteCity;
}
public void setFavoriteCity(City favoriteCity) {
this.favoriteCity = favoriteCity;
}
public City getFirstCity() {
return firstCity;
}
public void setFirstCity(City firstCity) {
this.firstCity = firstCity;
}
public City getLastCity() {
return lastCity;
}
public void setLastCity(City lastCity) {
this.lastCity = lastCity;
}
public List getCityNamesList() {
return cityNamesList;
}
public void setCityNamesList(List cityNamesList) {
this.cityNamesList = cityNamesList;
}
public List getTopCityNamesList() {
return topCityNamesList;
}
public void setTopCityNamesList(List topCityNamesList) {
this.topCityNamesList = topCityNamesList;
}
public List getCityNamesInDetails() {
return cityNamesInDetails;
}
public void setCityNamesInDetails(List cityNamesInDetails) {
this.cityNamesInDetails = cityNamesInDetails;
}
}
|
public class City {
private String cityName;
private int population;
public String getCityName() {
return cityName;
}
public void setCityName(String cityName) {
this.cityName = cityName;
}
public int getPopulation() {
return population;
}
public void setPopulation(int population) {
this.population = population;
}
public String toString(){
return "City:"+this.cityName+"; Population:"+this.population+";";
}
}
|
import java.util.List;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class SpringRunner {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("bean-configuration.xml");
List cityNames = (List) context.getBean("cityNames");
System.out.println("
All cities");
for (City city:cityNames){
System.out.println(city);
}
ConsolidatedCity consolidatedCity = (ConsolidatedCity) context.getBean("consolidatedCity");
System.out.println("
Top cities");
for (City city:consolidatedCity.getTopCityNames()){
System.out.println(city);
}
System.out.println("
Favorite City");
System.out.println(consolidatedCity.getFavoriteCity());
System.out.println("
First City");
System.out.println(consolidatedCity.getFirstCity());
System.out.println("
Last City");
System.out.println(consolidatedCity.getLastCity());
System.out.println("
City Names");
System.out.println(consolidatedCity.getCityNamesList());
System.out.println("
Top City Names");
System.out.println(consolidatedCity.getTopCityNamesList());
System.out.println("
City Names with Details");
System.out.println(consolidatedCity.getCityNamesInDetails());
}
}
|
Output
All cities
City:Newyork; Population:1002;
City:Texas; Population:1500;
City:Wasington; Population:2000;
City:London; Population:4000;
City:Beijing; Population:950;
City:Tokyo; Population:800;
Top cities
City:Newyork; Population:1002;
City:Texas; Population:1500;
City:Wasington; Population:2000;
City:London; Population:4000;
Favorite City
City:Wasington; Population:2000;
First City
City:Newyork; Population:1002;
Last City
City:London; Population:4000;
City Names
[Newyork, Texas, Wasington, London, Beijing, Tokyo]
Top City Names
[Newyork, Texas, Wasington, London]
City Names with Details
[Newyork(1002), Texas(1500), Wasington(2000), London(4000), Beijing(950), Tokyo(800)]
|
Download as Zip
Link to download
SpELWithCollections
Hints.
Click on File menu. then click " Download"
|