Browse Source
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@413 50f2f4bb-b051-0410-bef5-90022cba6387pull/1/head
15 changed files with 615 additions and 52 deletions
@ -0,0 +1,94 @@ |
|||||||
|
/* |
||||||
|
* Copyright 2002-2005 the original author or authors. |
||||||
|
* |
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||||
|
* you may not use this file except in compliance with the License. |
||||||
|
* You may obtain a copy of the License at |
||||||
|
* |
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
* |
||||||
|
* Unless required by applicable law or agreed to in writing, software |
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
* See the License for the specific language governing permissions and |
||||||
|
* limitations under the License. |
||||||
|
*/ |
||||||
|
|
||||||
|
package org.springframework.beans.factory; |
||||||
|
|
||||||
|
import java.util.Map; |
||||||
|
import java.util.Properties; |
||||||
|
import java.util.Set; |
||||||
|
|
||||||
|
/** |
||||||
|
* Bean exposing a map. Used for bean factory tests. |
||||||
|
* |
||||||
|
* @author Rod Johnson |
||||||
|
* @since 05.06.2003 |
||||||
|
*/ |
||||||
|
public class HasMap { |
||||||
|
|
||||||
|
private Map map; |
||||||
|
|
||||||
|
private Set set; |
||||||
|
|
||||||
|
private Properties props; |
||||||
|
|
||||||
|
private Object[] objectArray; |
||||||
|
|
||||||
|
private Class[] classArray; |
||||||
|
|
||||||
|
private Integer[] intArray; |
||||||
|
|
||||||
|
private HasMap() { |
||||||
|
} |
||||||
|
|
||||||
|
public Map getMap() { |
||||||
|
return map; |
||||||
|
} |
||||||
|
|
||||||
|
public void setMap(Map map) { |
||||||
|
this.map = map; |
||||||
|
} |
||||||
|
|
||||||
|
public Set getSet() { |
||||||
|
return set; |
||||||
|
} |
||||||
|
|
||||||
|
public void setSet(Set set) { |
||||||
|
this.set = set; |
||||||
|
} |
||||||
|
|
||||||
|
public Properties getProps() { |
||||||
|
return props; |
||||||
|
} |
||||||
|
|
||||||
|
public void setProps(Properties props) { |
||||||
|
this.props = props; |
||||||
|
} |
||||||
|
|
||||||
|
public Object[] getObjectArray() { |
||||||
|
return objectArray; |
||||||
|
} |
||||||
|
|
||||||
|
public void setObjectArray(Object[] objectArray) { |
||||||
|
this.objectArray = objectArray; |
||||||
|
} |
||||||
|
|
||||||
|
public Class[] getClassArray() { |
||||||
|
return classArray; |
||||||
|
} |
||||||
|
|
||||||
|
public void setClassArray(Class[] classArray) { |
||||||
|
this.classArray = classArray; |
||||||
|
} |
||||||
|
|
||||||
|
public Integer[] getIntegerArray() { |
||||||
|
return intArray; |
||||||
|
} |
||||||
|
|
||||||
|
public void setIntegerArray(Integer[] is) { |
||||||
|
intArray = is; |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
@ -0,0 +1,39 @@ |
|||||||
|
/* |
||||||
|
* Copyright 2002-2006 the original author or authors. |
||||||
|
* |
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||||
|
* you may not use this file except in compliance with the License. |
||||||
|
* You may obtain a copy of the License at |
||||||
|
* |
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
* |
||||||
|
* Unless required by applicable law or agreed to in writing, software |
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
* See the License for the specific language governing permissions and |
||||||
|
* limitations under the License. |
||||||
|
*/ |
||||||
|
package org.springframework.beans.factory.xml; |
||||||
|
|
||||||
|
import java.util.Map; |
||||||
|
import java.util.Set; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author Chris Beams |
||||||
|
*/ |
||||||
|
public class MapAndSet { |
||||||
|
|
||||||
|
private Object obj; |
||||||
|
|
||||||
|
public MapAndSet(Map map) { |
||||||
|
this.obj = map; |
||||||
|
} |
||||||
|
|
||||||
|
public MapAndSet(Set set) { |
||||||
|
this.obj = set; |
||||||
|
} |
||||||
|
|
||||||
|
public Object getObject() { |
||||||
|
return obj; |
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,41 @@ |
|||||||
|
/* |
||||||
|
* Copyright 2002-2006 the original author or authors. |
||||||
|
* |
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||||
|
* you may not use this file except in compliance with the License. |
||||||
|
* You may obtain a copy of the License at |
||||||
|
* |
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
* |
||||||
|
* Unless required by applicable law or agreed to in writing, software |
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
* See the License for the specific language governing permissions and |
||||||
|
* limitations under the License. |
||||||
|
*/ |
||||||
|
|
||||||
|
package org.springframework.beans.factory.xml; |
||||||
|
|
||||||
|
import java.util.Collection; |
||||||
|
|
||||||
|
/** |
||||||
|
* Bean that exposes a simple property that can be set |
||||||
|
* to a mix of references and individual values. |
||||||
|
* |
||||||
|
* @author Rod Johnson |
||||||
|
* @since 27.05.2003 |
||||||
|
*/ |
||||||
|
public class MixedCollectionBean { |
||||||
|
|
||||||
|
private Collection jumble; |
||||||
|
|
||||||
|
|
||||||
|
public void setJumble(Collection jumble) { |
||||||
|
this.jumble = jumble; |
||||||
|
} |
||||||
|
|
||||||
|
public Collection getJumble() { |
||||||
|
return jumble; |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
@ -0,0 +1,374 @@ |
|||||||
|
<?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="jenny" class="org.springframework.beans.TestBean"> |
||||||
|
<property name="name"><value>Jenny</value></property> |
||||||
|
<property name="age"><value>30</value></property> |
||||||
|
<property name="spouse"> |
||||||
|
<!-- Could use id and href --> |
||||||
|
<ref local="david"/> |
||||||
|
</property> |
||||||
|
</bean> |
||||||
|
|
||||||
|
<bean id="david" class="org.springframework.beans.TestBean"> |
||||||
|
<description> |
||||||
|
Simple bean, without any collections. |
||||||
|
</description> |
||||||
|
<property name="name"> |
||||||
|
<description>The name of the user</description> |
||||||
|
<value>David</value> |
||||||
|
</property> |
||||||
|
<property name="age"><value>27</value></property> |
||||||
|
</bean> |
||||||
|
|
||||||
|
<bean id="rod" class="org.springframework.beans.TestBean"> |
||||||
|
<property name="name"><value>Rod</value></property> |
||||||
|
<property name="age"><value>32</value></property> |
||||||
|
<property name="friends"> |
||||||
|
<description>List of Rod's friends</description> |
||||||
|
<list> |
||||||
|
<ref local="jenny"/> |
||||||
|
<ref local="david"/> |
||||||
|
</list> |
||||||
|
</property> |
||||||
|
</bean> |
||||||
|
|
||||||
|
<bean id="pJenny" class="org.springframework.beans.TestBean" scope="prototype"> |
||||||
|
<property name="name"><value>Jenny</value></property> |
||||||
|
<property name="age"><value>30</value></property> |
||||||
|
<property name="spouse"> |
||||||
|
<!-- Could use id and href --> |
||||||
|
<ref local="david"/> |
||||||
|
</property> |
||||||
|
</bean> |
||||||
|
|
||||||
|
<bean id="pDavid" class="org.springframework.beans.TestBean" scope="prototype"> |
||||||
|
<property name="name"><value>David</value></property> |
||||||
|
<property name="age"><value>27</value></property> |
||||||
|
</bean> |
||||||
|
|
||||||
|
<bean id="pRod" class="org.springframework.beans.TestBean" scope="prototype"> |
||||||
|
<property name="name"><value>Rod</value></property> |
||||||
|
<property name="age"><value>32</value></property> |
||||||
|
<property name="friends"> |
||||||
|
<list> |
||||||
|
<ref local="pJenny"/> |
||||||
|
<ref local="pDavid"/> |
||||||
|
</list> |
||||||
|
</property> |
||||||
|
</bean> |
||||||
|
|
||||||
|
<!-- |
||||||
|
Try setting a collection property to a single value |
||||||
|
--> |
||||||
|
<bean id="loner" class="org.springframework.beans.TestBean"> |
||||||
|
<property name="name"><value>loner</value></property> |
||||||
|
<property name="age"><value>26</value></property> |
||||||
|
<property name="friends"> |
||||||
|
<list> |
||||||
|
<description>My List</description> |
||||||
|
<ref local="david"/> |
||||||
|
</list> |
||||||
|
</property> |
||||||
|
</bean> |
||||||
|
|
||||||
|
<bean id="jumble" class="org.springframework.beans.factory.xml.MixedCollectionBean"> |
||||||
|
<property name="jumble"> |
||||||
|
<list> |
||||||
|
<ref local="david"/> |
||||||
|
<value>literal</value> |
||||||
|
<ref local="jenny"/> |
||||||
|
<idref local="rod"/> |
||||||
|
</list> |
||||||
|
</property> |
||||||
|
</bean> |
||||||
|
|
||||||
|
<bean id="jumble2" class="org.springframework.beans.factory.xml.MixedCollectionBean" lazy-init="true"> |
||||||
|
<property name="jumble"> |
||||||
|
<list> |
||||||
|
<ref local="david"/> |
||||||
|
<value>literal</value> |
||||||
|
<ref local="jenny"/> |
||||||
|
<idref bean="rod"/> |
||||||
|
<idref bean="rod2"/> |
||||||
|
</list> |
||||||
|
</property> |
||||||
|
</bean> |
||||||
|
|
||||||
|
<bean id="verbose" class="org.springframework.beans.TestBean"> |
||||||
|
<property name="name"><value>verbose</value></property> |
||||||
|
</bean> |
||||||
|
|
||||||
|
<bean id="verbose2" class="org.springframework.beans.TestBean"> |
||||||
|
<property name="name"><idref local="verbose"/></property> |
||||||
|
</bean> |
||||||
|
|
||||||
|
<bean id="verbose3" class="org.springframework.beans.TestBean"> |
||||||
|
<property name="name"><idref bean="verbose"/></property> |
||||||
|
</bean> |
||||||
|
|
||||||
|
<bean id="emptyMap" class="org.springframework.beans.factory.HasMap"> |
||||||
|
<property name="map"> |
||||||
|
<map> |
||||||
|
</map> |
||||||
|
</property> |
||||||
|
</bean> |
||||||
|
|
||||||
|
<bean id="literalMap" class="org.springframework.beans.factory.HasMap"> |
||||||
|
<property name="map"> |
||||||
|
<map> |
||||||
|
<entry key="foo" value="bar"/> |
||||||
|
<entry key="fi" value="fum"/> |
||||||
|
<entry key="fa"><null/></entry> |
||||||
|
</map> |
||||||
|
</property> |
||||||
|
</bean> |
||||||
|
|
||||||
|
<bean id="mixedMap" class="org.springframework.beans.factory.HasMap"> |
||||||
|
<property name="map"> |
||||||
|
<map> |
||||||
|
<entry key-ref="fooKey"> |
||||||
|
<value type="java.lang.Integer">10</value> |
||||||
|
</entry> |
||||||
|
<entry> |
||||||
|
<key> |
||||||
|
<ref bean="jennyKey"/> |
||||||
|
</key> |
||||||
|
<ref local="jenny"/> |
||||||
|
</entry> |
||||||
|
<entry> |
||||||
|
<key> |
||||||
|
<bean class="java.lang.Integer"> |
||||||
|
<constructor-arg value="5"/> |
||||||
|
</bean> |
||||||
|
</key> |
||||||
|
<idref bean="david"/> |
||||||
|
</entry> |
||||||
|
</map> |
||||||
|
</property> |
||||||
|
</bean> |
||||||
|
|
||||||
|
<bean id="fooKey" class="java.lang.String"> |
||||||
|
<constructor-arg value="foo"/> |
||||||
|
</bean> |
||||||
|
|
||||||
|
<bean id="jennyKey" class="java.lang.String"> |
||||||
|
<constructor-arg value="jenny"/> |
||||||
|
</bean> |
||||||
|
|
||||||
|
<bean id="pMixedMap" class="org.springframework.beans.factory.HasMap" scope="prototype"> |
||||||
|
<property name="map"> |
||||||
|
<map> |
||||||
|
<entry key="foo" value="bar"/> |
||||||
|
<entry key="jenny" value-ref="pJenny"/> |
||||||
|
</map> |
||||||
|
</property> |
||||||
|
</bean> |
||||||
|
|
||||||
|
<bean id="mixedMapWithList" class="org.springframework.beans.factory.HasMap"> |
||||||
|
<property name="map"> |
||||||
|
<map> |
||||||
|
<entry> |
||||||
|
<key><null/></key> |
||||||
|
<value>bar</value> |
||||||
|
</entry> |
||||||
|
<entry key="jenny"><ref local="jenny"/></entry> |
||||||
|
<entry key="list"> |
||||||
|
<list> |
||||||
|
<value>zero</value> |
||||||
|
<map> |
||||||
|
<entry key="fo"><value>bar</value></entry> |
||||||
|
<entry key="jen"><ref local="jenny"/></entry> |
||||||
|
</map> |
||||||
|
<list> |
||||||
|
<ref local="jenny"/> |
||||||
|
<value>ba</value> |
||||||
|
</list> |
||||||
|
<null/> |
||||||
|
</list> |
||||||
|
</entry> |
||||||
|
<entry key="map"> |
||||||
|
<map> |
||||||
|
<entry key="foo"><value>bar</value></entry> |
||||||
|
<entry key="jenny"><ref local="jenny"/></entry> |
||||||
|
</map> |
||||||
|
</entry> |
||||||
|
</map> |
||||||
|
</property> |
||||||
|
</bean> |
||||||
|
|
||||||
|
<bean id="emptySet" class="org.springframework.beans.factory.HasMap"> |
||||||
|
<property name="set"> |
||||||
|
<set> |
||||||
|
</set> |
||||||
|
</property> |
||||||
|
</bean> |
||||||
|
|
||||||
|
|
||||||
|
<bean id="set" class="org.springframework.beans.factory.HasMap"> |
||||||
|
<property name="set"> |
||||||
|
<set> |
||||||
|
<value>bar</value> |
||||||
|
<ref local="jenny"/> |
||||||
|
<null/> |
||||||
|
</set> |
||||||
|
</property> |
||||||
|
</bean> |
||||||
|
|
||||||
|
<bean id="emptyProps" class="org.springframework.beans.factory.HasMap"> |
||||||
|
<property name="props"> |
||||||
|
<props> |
||||||
|
</props> |
||||||
|
</property> |
||||||
|
</bean> |
||||||
|
|
||||||
|
|
||||||
|
<bean id="props" class="org.springframework.beans.factory.HasMap"> |
||||||
|
<property name="props"> |
||||||
|
<props> |
||||||
|
<prop key="foo">bar</prop> |
||||||
|
<prop key="2">TWO</prop> |
||||||
|
</props> |
||||||
|
</property> |
||||||
|
</bean> |
||||||
|
|
||||||
|
<bean id="propsViaMap" class="org.springframework.beans.factory.HasMap"> |
||||||
|
<property name="props"> |
||||||
|
<map> |
||||||
|
<entry key="foo" value="bar"/> |
||||||
|
<entry key="2" value="TWO"/> |
||||||
|
</map> |
||||||
|
</property> |
||||||
|
</bean> |
||||||
|
|
||||||
|
<bean id="objectArray" class="org.springframework.beans.factory.HasMap"> |
||||||
|
<property name="objectArray"> |
||||||
|
<list> |
||||||
|
<value>one</value> |
||||||
|
<ref local="jenny"/> |
||||||
|
</list> |
||||||
|
</property> |
||||||
|
</bean> |
||||||
|
|
||||||
|
<bean id="classArray" class="org.springframework.beans.factory.HasMap"> |
||||||
|
<property name="classArray"> |
||||||
|
<list> |
||||||
|
<value>java.lang.String</value> |
||||||
|
<value>java.lang.Exception</value> |
||||||
|
</list> |
||||||
|
</property> |
||||||
|
</bean> |
||||||
|
|
||||||
|
<bean id="integerArray" class="org.springframework.beans.factory.HasMap"> |
||||||
|
<property name="integerArray"> |
||||||
|
<list> |
||||||
|
<value>0</value> |
||||||
|
<value>1</value> |
||||||
|
<value>2</value> |
||||||
|
</list> |
||||||
|
</property> |
||||||
|
</bean> |
||||||
|
|
||||||
|
<bean id="listFactory" class="org.springframework.beans.factory.config.ListFactoryBean"> |
||||||
|
<property name="sourceList"> |
||||||
|
<list> |
||||||
|
<value>bar</value> |
||||||
|
<value>jenny</value> |
||||||
|
</list> |
||||||
|
</property> |
||||||
|
<property name="targetListClass"> |
||||||
|
<value>java.util.LinkedList</value> |
||||||
|
</property> |
||||||
|
</bean> |
||||||
|
|
||||||
|
<bean id="pListFactory" class="org.springframework.beans.factory.config.ListFactoryBean"> |
||||||
|
<property name="sourceList"> |
||||||
|
<list> |
||||||
|
<value>bar</value> |
||||||
|
<value>jenny</value> |
||||||
|
</list> |
||||||
|
</property> |
||||||
|
<property name="targetListClass"> |
||||||
|
<value>java.util.LinkedList</value> |
||||||
|
</property> |
||||||
|
<property name="singleton"> |
||||||
|
<value>true</value> |
||||||
|
</property> |
||||||
|
</bean> |
||||||
|
|
||||||
|
<bean id="setFactory" class="org.springframework.beans.factory.config.SetFactoryBean"> |
||||||
|
<property name="sourceSet"> |
||||||
|
<set> |
||||||
|
<value>bar</value> |
||||||
|
<value>jenny</value> |
||||||
|
</set> |
||||||
|
</property> |
||||||
|
<property name="targetSetClass"> |
||||||
|
<value>java.util.TreeSet</value> |
||||||
|
</property> |
||||||
|
</bean> |
||||||
|
|
||||||
|
<bean id="pSetFactory" class="org.springframework.beans.factory.config.SetFactoryBean"> |
||||||
|
<property name="sourceSet"> |
||||||
|
<set> |
||||||
|
<value>bar</value> |
||||||
|
<value>jenny</value> |
||||||
|
</set> |
||||||
|
</property> |
||||||
|
<property name="targetSetClass"> |
||||||
|
<value>java.util.TreeSet</value> |
||||||
|
</property> |
||||||
|
<property name="singleton"> |
||||||
|
<value>true</value> |
||||||
|
</property> |
||||||
|
</bean> |
||||||
|
|
||||||
|
<bean id="mapFactory" class="org.springframework.beans.factory.config.MapFactoryBean"> |
||||||
|
<property name="sourceMap"> |
||||||
|
<map> |
||||||
|
<entry key="foo"><value>bar</value></entry> |
||||||
|
<entry key="jen"><value>jenny</value></entry> |
||||||
|
</map> |
||||||
|
</property> |
||||||
|
<property name="targetMapClass"> |
||||||
|
<value>java.util.TreeMap</value> |
||||||
|
</property> |
||||||
|
</bean> |
||||||
|
|
||||||
|
<bean id="pMapFactory" class="org.springframework.beans.factory.config.MapFactoryBean"> |
||||||
|
<property name="sourceMap"> |
||||||
|
<map> |
||||||
|
<entry key="foo"><value>bar</value></entry> |
||||||
|
<entry key="jen"><value>jenny</value></entry> |
||||||
|
</map> |
||||||
|
</property> |
||||||
|
<property name="targetMapClass"> |
||||||
|
<value>java.util.TreeMap</value> |
||||||
|
</property> |
||||||
|
<property name="singleton"> |
||||||
|
<value>true</value> |
||||||
|
</property> |
||||||
|
</bean> |
||||||
|
|
||||||
|
<bean id="setAndMap" class="org.springframework.beans.factory.xml.MapAndSet"> |
||||||
|
<constructor-arg> |
||||||
|
<map> |
||||||
|
<description>My Map</description> |
||||||
|
<entry key="key1" value="val1"/> |
||||||
|
<entry key="key2" value="val2"/> |
||||||
|
<entry key="key3" value="val3"/> |
||||||
|
</map> |
||||||
|
</constructor-arg> |
||||||
|
</bean> |
||||||
|
|
||||||
|
<bean id="enumSetFactory" class="org.springframework.beans.factory.config.SetFactoryBean"> |
||||||
|
<property name="sourceSet"> |
||||||
|
<set> |
||||||
|
<description>My Set</description> |
||||||
|
</set> |
||||||
|
</property> |
||||||
|
</bean> |
||||||
|
|
||||||
|
</beans> |
||||||
@ -0,0 +1,23 @@ |
|||||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||||
|
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd"> |
||||||
|
|
||||||
|
<beans> |
||||||
|
|
||||||
|
<bean id="inheritedTestBean" class="org.springframework.beans.TestBean" abstract="true"> |
||||||
|
<property name="name"><value>parent</value></property> |
||||||
|
<property name="age"><value>1</value></property> |
||||||
|
</bean> |
||||||
|
|
||||||
|
<bean id="inheritedTestBeanWithoutClass" abstract="true"> |
||||||
|
<property name="name"><value>parent</value></property> |
||||||
|
<property name="age"><value>1</value></property> |
||||||
|
</bean> |
||||||
|
|
||||||
|
<bean id="inheritedTestBeanPrototype" class="org.springframework.beans.TestBean" scope="prototype"> |
||||||
|
<property name="name"><value>parent</value></property> |
||||||
|
<property name="age"><value>2</value></property> |
||||||
|
</bean> |
||||||
|
|
||||||
|
<bean id="inheritedTestBeanSingleton" class="org.springframework.beans.TestBean"/> |
||||||
|
|
||||||
|
</beans> |
||||||
Loading…
Reference in new issue