moving unit tests from .testsuite -> .context
This commit is contained in:
parent
931728ba2f
commit
2359942dd7
|
|
@ -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>
|
||||||
|
|
@ -56,7 +56,7 @@ public class ClassPathBeanDefinitionScannerTests {
|
||||||
GenericApplicationContext context = new GenericApplicationContext();
|
GenericApplicationContext context = new GenericApplicationContext();
|
||||||
ClassPathBeanDefinitionScanner scanner = new ClassPathBeanDefinitionScanner(context);
|
ClassPathBeanDefinitionScanner scanner = new ClassPathBeanDefinitionScanner(context);
|
||||||
int beanCount = scanner.scan(BASE_PACKAGE);
|
int beanCount = scanner.scan(BASE_PACKAGE);
|
||||||
assertEquals(10, beanCount);
|
assertEquals(9, beanCount);
|
||||||
assertTrue(context.containsBean("serviceInvocationCounter"));
|
assertTrue(context.containsBean("serviceInvocationCounter"));
|
||||||
assertTrue(context.containsBean("fooServiceImpl"));
|
assertTrue(context.containsBean("fooServiceImpl"));
|
||||||
assertTrue(context.containsBean("stubFooDao"));
|
assertTrue(context.containsBean("stubFooDao"));
|
||||||
|
|
@ -73,7 +73,7 @@ public class ClassPathBeanDefinitionScannerTests {
|
||||||
GenericApplicationContext context = new GenericApplicationContext();
|
GenericApplicationContext context = new GenericApplicationContext();
|
||||||
ClassPathBeanDefinitionScanner scanner = new ClassPathBeanDefinitionScanner(context);
|
ClassPathBeanDefinitionScanner scanner = new ClassPathBeanDefinitionScanner(context);
|
||||||
int beanCount = scanner.scan(BASE_PACKAGE);
|
int beanCount = scanner.scan(BASE_PACKAGE);
|
||||||
assertEquals(10, beanCount);
|
assertEquals(9, beanCount);
|
||||||
scanner.scan(BASE_PACKAGE);
|
scanner.scan(BASE_PACKAGE);
|
||||||
assertTrue(context.containsBean("serviceInvocationCounter"));
|
assertTrue(context.containsBean("serviceInvocationCounter"));
|
||||||
assertTrue(context.containsBean("fooServiceImpl"));
|
assertTrue(context.containsBean("fooServiceImpl"));
|
||||||
|
|
@ -191,7 +191,7 @@ public class ClassPathBeanDefinitionScannerTests {
|
||||||
ClassPathBeanDefinitionScanner scanner = new ClassPathBeanDefinitionScanner(context, false);
|
ClassPathBeanDefinitionScanner scanner = new ClassPathBeanDefinitionScanner(context, false);
|
||||||
scanner.addIncludeFilter(new AnnotationTypeFilter(CustomComponent.class));
|
scanner.addIncludeFilter(new AnnotationTypeFilter(CustomComponent.class));
|
||||||
int beanCount = scanner.scan(BASE_PACKAGE);
|
int beanCount = scanner.scan(BASE_PACKAGE);
|
||||||
assertEquals(5, beanCount);
|
assertEquals(4, beanCount);
|
||||||
assertTrue(context.containsBean("messageBean"));
|
assertTrue(context.containsBean("messageBean"));
|
||||||
assertTrue(context.containsBean(AnnotationConfigUtils.AUTOWIRED_ANNOTATION_PROCESSOR_BEAN_NAME));
|
assertTrue(context.containsBean(AnnotationConfigUtils.AUTOWIRED_ANNOTATION_PROCESSOR_BEAN_NAME));
|
||||||
assertTrue(context.containsBean(AnnotationConfigUtils.COMMON_ANNOTATION_PROCESSOR_BEAN_NAME));
|
assertTrue(context.containsBean(AnnotationConfigUtils.COMMON_ANNOTATION_PROCESSOR_BEAN_NAME));
|
||||||
|
|
@ -204,7 +204,7 @@ public class ClassPathBeanDefinitionScannerTests {
|
||||||
ClassPathBeanDefinitionScanner scanner = new ClassPathBeanDefinitionScanner(context, false);
|
ClassPathBeanDefinitionScanner scanner = new ClassPathBeanDefinitionScanner(context, false);
|
||||||
scanner.addIncludeFilter(new AnnotationTypeFilter(CustomComponent.class));
|
scanner.addIncludeFilter(new AnnotationTypeFilter(CustomComponent.class));
|
||||||
int beanCount = scanner.scan(BASE_PACKAGE);
|
int beanCount = scanner.scan(BASE_PACKAGE);
|
||||||
assertEquals(5, beanCount);
|
assertEquals(4, beanCount);
|
||||||
assertTrue(context.containsBean("messageBean"));
|
assertTrue(context.containsBean("messageBean"));
|
||||||
assertFalse(context.containsBean("serviceInvocationCounter"));
|
assertFalse(context.containsBean("serviceInvocationCounter"));
|
||||||
assertFalse(context.containsBean("fooServiceImpl"));
|
assertFalse(context.containsBean("fooServiceImpl"));
|
||||||
|
|
@ -222,7 +222,7 @@ public class ClassPathBeanDefinitionScannerTests {
|
||||||
ClassPathBeanDefinitionScanner scanner = new ClassPathBeanDefinitionScanner(context, true);
|
ClassPathBeanDefinitionScanner scanner = new ClassPathBeanDefinitionScanner(context, true);
|
||||||
scanner.addIncludeFilter(new AnnotationTypeFilter(CustomComponent.class));
|
scanner.addIncludeFilter(new AnnotationTypeFilter(CustomComponent.class));
|
||||||
int beanCount = scanner.scan(BASE_PACKAGE);
|
int beanCount = scanner.scan(BASE_PACKAGE);
|
||||||
assertEquals(11, beanCount);
|
assertEquals(10, beanCount);
|
||||||
assertTrue(context.containsBean("messageBean"));
|
assertTrue(context.containsBean("messageBean"));
|
||||||
assertTrue(context.containsBean("serviceInvocationCounter"));
|
assertTrue(context.containsBean("serviceInvocationCounter"));
|
||||||
assertTrue(context.containsBean("fooServiceImpl"));
|
assertTrue(context.containsBean("fooServiceImpl"));
|
||||||
|
|
@ -240,7 +240,7 @@ public class ClassPathBeanDefinitionScannerTests {
|
||||||
ClassPathBeanDefinitionScanner scanner = new ClassPathBeanDefinitionScanner(context, true);
|
ClassPathBeanDefinitionScanner scanner = new ClassPathBeanDefinitionScanner(context, true);
|
||||||
scanner.addExcludeFilter(new AnnotationTypeFilter(Aspect.class));
|
scanner.addExcludeFilter(new AnnotationTypeFilter(Aspect.class));
|
||||||
int beanCount = scanner.scan(BASE_PACKAGE);
|
int beanCount = scanner.scan(BASE_PACKAGE);
|
||||||
assertEquals(9, beanCount);
|
assertEquals(8, beanCount);
|
||||||
assertFalse(context.containsBean("serviceInvocationCounter"));
|
assertFalse(context.containsBean("serviceInvocationCounter"));
|
||||||
assertTrue(context.containsBean("fooServiceImpl"));
|
assertTrue(context.containsBean("fooServiceImpl"));
|
||||||
assertTrue(context.containsBean("stubFooDao"));
|
assertTrue(context.containsBean("stubFooDao"));
|
||||||
|
|
@ -257,7 +257,7 @@ public class ClassPathBeanDefinitionScannerTests {
|
||||||
ClassPathBeanDefinitionScanner scanner = new ClassPathBeanDefinitionScanner(context, true);
|
ClassPathBeanDefinitionScanner scanner = new ClassPathBeanDefinitionScanner(context, true);
|
||||||
scanner.addExcludeFilter(new AssignableTypeFilter(FooService.class));
|
scanner.addExcludeFilter(new AssignableTypeFilter(FooService.class));
|
||||||
int beanCount = scanner.scan(BASE_PACKAGE);
|
int beanCount = scanner.scan(BASE_PACKAGE);
|
||||||
assertEquals(9, beanCount);
|
assertEquals(8, beanCount);
|
||||||
assertFalse(context.containsBean("fooServiceImpl"));
|
assertFalse(context.containsBean("fooServiceImpl"));
|
||||||
assertTrue(context.containsBean("serviceInvocationCounter"));
|
assertTrue(context.containsBean("serviceInvocationCounter"));
|
||||||
assertTrue(context.containsBean("stubFooDao"));
|
assertTrue(context.containsBean("stubFooDao"));
|
||||||
|
|
@ -293,7 +293,7 @@ public class ClassPathBeanDefinitionScannerTests {
|
||||||
scanner.addExcludeFilter(new AssignableTypeFilter(FooService.class));
|
scanner.addExcludeFilter(new AssignableTypeFilter(FooService.class));
|
||||||
scanner.addExcludeFilter(new AnnotationTypeFilter(Aspect.class));
|
scanner.addExcludeFilter(new AnnotationTypeFilter(Aspect.class));
|
||||||
int beanCount = scanner.scan(BASE_PACKAGE);
|
int beanCount = scanner.scan(BASE_PACKAGE);
|
||||||
assertEquals(8, beanCount);
|
assertEquals(7, beanCount);
|
||||||
assertFalse(context.containsBean("fooServiceImpl"));
|
assertFalse(context.containsBean("fooServiceImpl"));
|
||||||
assertFalse(context.containsBean("serviceInvocationCounter"));
|
assertFalse(context.containsBean("serviceInvocationCounter"));
|
||||||
assertTrue(context.containsBean("stubFooDao"));
|
assertTrue(context.containsBean("stubFooDao"));
|
||||||
|
|
@ -310,7 +310,7 @@ public class ClassPathBeanDefinitionScannerTests {
|
||||||
ClassPathBeanDefinitionScanner scanner = new ClassPathBeanDefinitionScanner(context);
|
ClassPathBeanDefinitionScanner scanner = new ClassPathBeanDefinitionScanner(context);
|
||||||
scanner.setBeanNameGenerator(new TestBeanNameGenerator());
|
scanner.setBeanNameGenerator(new TestBeanNameGenerator());
|
||||||
int beanCount = scanner.scan(BASE_PACKAGE);
|
int beanCount = scanner.scan(BASE_PACKAGE);
|
||||||
assertEquals(10, beanCount);
|
assertEquals(9, beanCount);
|
||||||
assertFalse(context.containsBean("fooServiceImpl"));
|
assertFalse(context.containsBean("fooServiceImpl"));
|
||||||
assertTrue(context.containsBean("fooService"));
|
assertTrue(context.containsBean("fooService"));
|
||||||
assertTrue(context.containsBean("serviceInvocationCounter"));
|
assertTrue(context.containsBean("serviceInvocationCounter"));
|
||||||
|
|
@ -329,7 +329,7 @@ public class ClassPathBeanDefinitionScannerTests {
|
||||||
GenericApplicationContext multiPackageContext = new GenericApplicationContext();
|
GenericApplicationContext multiPackageContext = new GenericApplicationContext();
|
||||||
ClassPathBeanDefinitionScanner multiPackageScanner = new ClassPathBeanDefinitionScanner(multiPackageContext);
|
ClassPathBeanDefinitionScanner multiPackageScanner = new ClassPathBeanDefinitionScanner(multiPackageContext);
|
||||||
int singlePackageBeanCount = singlePackageScanner.scan(BASE_PACKAGE);
|
int singlePackageBeanCount = singlePackageScanner.scan(BASE_PACKAGE);
|
||||||
assertEquals(10, singlePackageBeanCount);
|
assertEquals(9, singlePackageBeanCount);
|
||||||
multiPackageScanner.scan(BASE_PACKAGE, "org.springframework.dao.annotation");
|
multiPackageScanner.scan(BASE_PACKAGE, "org.springframework.dao.annotation");
|
||||||
// assertTrue(multiPackageBeanCount > singlePackageBeanCount);
|
// assertTrue(multiPackageBeanCount > singlePackageBeanCount);
|
||||||
}
|
}
|
||||||
|
|
@ -339,7 +339,7 @@ public class ClassPathBeanDefinitionScannerTests {
|
||||||
GenericApplicationContext context = new GenericApplicationContext();
|
GenericApplicationContext context = new GenericApplicationContext();
|
||||||
ClassPathBeanDefinitionScanner scanner = new ClassPathBeanDefinitionScanner(context);
|
ClassPathBeanDefinitionScanner scanner = new ClassPathBeanDefinitionScanner(context);
|
||||||
int beanCount = scanner.scan(BASE_PACKAGE);
|
int beanCount = scanner.scan(BASE_PACKAGE);
|
||||||
assertEquals(10, beanCount);
|
assertEquals(9, beanCount);
|
||||||
assertEquals(beanCount, context.getBeanDefinitionCount());
|
assertEquals(beanCount, context.getBeanDefinitionCount());
|
||||||
int addedBeanCount = scanner.scan("org.springframework.aop.aspectj.annotation");
|
int addedBeanCount = scanner.scan("org.springframework.aop.aspectj.annotation");
|
||||||
assertEquals(beanCount + addedBeanCount, context.getBeanDefinitionCount());
|
assertEquals(beanCount + addedBeanCount, context.getBeanDefinitionCount());
|
||||||
|
|
@ -352,7 +352,7 @@ public class ClassPathBeanDefinitionScannerTests {
|
||||||
ClassPathBeanDefinitionScanner scanner = new ClassPathBeanDefinitionScanner(context);
|
ClassPathBeanDefinitionScanner scanner = new ClassPathBeanDefinitionScanner(context);
|
||||||
scanner.setBeanNameGenerator(new TestBeanNameGenerator());
|
scanner.setBeanNameGenerator(new TestBeanNameGenerator());
|
||||||
int beanCount = scanner.scan(BASE_PACKAGE);
|
int beanCount = scanner.scan(BASE_PACKAGE);
|
||||||
assertEquals(10, beanCount);
|
assertEquals(9, beanCount);
|
||||||
context.refresh();
|
context.refresh();
|
||||||
|
|
||||||
FooServiceImpl fooService = (FooServiceImpl) context.getBean("fooService");
|
FooServiceImpl fooService = (FooServiceImpl) context.getBean("fooService");
|
||||||
|
|
@ -18,12 +18,13 @@ package org.springframework.context.annotation;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Juergen Hoeller
|
* @author Juergen Hoeller
|
||||||
|
* @author Chris Beams
|
||||||
*/
|
*/
|
||||||
public class DoubleScanTests extends SimpleScanTests {
|
public class DoubleScanTests extends SimpleScanTests {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String[] getConfigLocations() {
|
protected String[] getConfigLocations() {
|
||||||
return new String[] {"org/springframework/context/annotation/doubleScanTests.xml"};
|
return new String[] {"doubleScanTests.xml"};
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -16,7 +16,10 @@
|
||||||
|
|
||||||
package org.springframework.context.annotation;
|
package org.springframework.context.annotation;
|
||||||
|
|
||||||
import org.springframework.test.AbstractDependencyInjectionSpringContextTests;
|
import static org.junit.Assert.assertEquals;
|
||||||
|
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.springframework.context.support.ClassPathXmlApplicationContext;
|
||||||
|
|
||||||
import example.scannable.FooService;
|
import example.scannable.FooService;
|
||||||
import example.scannable.ServiceInvocationCounter;
|
import example.scannable.ServiceInvocationCounter;
|
||||||
|
|
@ -24,21 +27,15 @@ import example.scannable.ServiceInvocationCounter;
|
||||||
/**
|
/**
|
||||||
* @author Mark Fisher
|
* @author Mark Fisher
|
||||||
*/
|
*/
|
||||||
public class SimpleConfigTests extends AbstractDependencyInjectionSpringContextTests {
|
public class SimpleConfigTests {
|
||||||
|
|
||||||
private FooService fooService;
|
|
||||||
|
|
||||||
private ServiceInvocationCounter serviceInvocationCounter;
|
@Test
|
||||||
|
|
||||||
public void setFooService(FooService fooService) {
|
|
||||||
this.fooService = fooService;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setServiceInvocationCounter(ServiceInvocationCounter serviceInvocationCounter) {
|
|
||||||
this.serviceInvocationCounter = serviceInvocationCounter;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void testFooService() throws Exception {
|
public void testFooService() throws Exception {
|
||||||
|
ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext(getConfigLocations(), getClass());
|
||||||
|
|
||||||
|
FooService fooService = (FooService) ctx.getBean("fooServiceImpl");
|
||||||
|
ServiceInvocationCounter serviceInvocationCounter = (ServiceInvocationCounter) ctx.getBean("serviceInvocationCounter");
|
||||||
|
|
||||||
String value = fooService.foo(1);
|
String value = fooService.foo(1);
|
||||||
assertEquals("bar", value);
|
assertEquals("bar", value);
|
||||||
|
|
||||||
|
|
@ -47,10 +44,10 @@ public class SimpleConfigTests extends AbstractDependencyInjectionSpringContextT
|
||||||
fooService.foo(1);
|
fooService.foo(1);
|
||||||
assertEquals(2, serviceInvocationCounter.getCount());
|
assertEquals(2, serviceInvocationCounter.getCount());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
public String[] getConfigLocations() {
|
||||||
protected String[] getConfigLocations() {
|
return new String[] {"simpleConfigTests.xml"};
|
||||||
return new String[] {"org/springframework/context/annotation/simpleConfigTests.xml"};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -16,7 +16,10 @@
|
||||||
|
|
||||||
package org.springframework.context.annotation;
|
package org.springframework.context.annotation;
|
||||||
|
|
||||||
import org.springframework.test.AbstractDependencyInjectionSpringContextTests;
|
import static org.junit.Assert.*;
|
||||||
|
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.springframework.context.support.ClassPathXmlApplicationContext;
|
||||||
|
|
||||||
import example.scannable.FooService;
|
import example.scannable.FooService;
|
||||||
import example.scannable.ServiceInvocationCounter;
|
import example.scannable.ServiceInvocationCounter;
|
||||||
|
|
@ -24,30 +27,21 @@ import example.scannable.ServiceInvocationCounter;
|
||||||
/**
|
/**
|
||||||
* @author Mark Fisher
|
* @author Mark Fisher
|
||||||
* @author Juergen Hoeller
|
* @author Juergen Hoeller
|
||||||
|
* @author Chris Beams
|
||||||
*/
|
*/
|
||||||
public class SimpleScanTests extends AbstractDependencyInjectionSpringContextTests {
|
public class SimpleScanTests {
|
||||||
|
|
||||||
private FooService fooService;
|
|
||||||
|
|
||||||
private ServiceInvocationCounter serviceInvocationCounter;
|
|
||||||
|
|
||||||
|
|
||||||
public void setFooService(FooService fooService) {
|
|
||||||
this.fooService = fooService;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setServiceInvocationCounter(ServiceInvocationCounter serviceInvocationCounter) {
|
|
||||||
this.serviceInvocationCounter = serviceInvocationCounter;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected String[] getConfigLocations() {
|
protected String[] getConfigLocations() {
|
||||||
return new String[] {"org/springframework/context/annotation/simpleScanTests.xml"};
|
return new String[] {"simpleScanTests.xml"};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
public void testFooService() throws Exception {
|
public void testFooService() throws Exception {
|
||||||
|
ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext(getConfigLocations(), getClass());
|
||||||
|
|
||||||
|
FooService fooService = (FooService) ctx.getBean("fooServiceImpl");
|
||||||
|
ServiceInvocationCounter serviceInvocationCounter = (ServiceInvocationCounter) ctx.getBean("serviceInvocationCounter");
|
||||||
|
|
||||||
assertEquals(0, serviceInvocationCounter.getCount());
|
assertEquals(0, serviceInvocationCounter.getCount());
|
||||||
|
|
||||||
assertTrue(fooService.isInitCalled());
|
assertTrue(fooService.isInitCalled());
|
||||||
|
|
@ -11,9 +11,9 @@
|
||||||
|
|
||||||
<aop:aspectj-autoproxy/>
|
<aop:aspectj-autoproxy/>
|
||||||
|
|
||||||
<bean class="example.scannable.FooServiceImpl"/>
|
<bean id="fooServiceImpl" class="example.scannable.FooServiceImpl"/>
|
||||||
|
|
||||||
<bean class="example.scannable.ServiceInvocationCounter"/>
|
<bean id="serviceInvocationCounter" class="example.scannable.ServiceInvocationCounter"/>
|
||||||
|
|
||||||
<bean class="example.scannable.StubFooDao"/>
|
<bean class="example.scannable.StubFooDao"/>
|
||||||
|
|
||||||
Loading…
Reference in New Issue