attempted to repro SPR-7318 to no avail
This commit is contained in:
parent
3f31a1cf75
commit
cd271fca43
|
|
@ -0,0 +1,8 @@
|
|||
<?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.xsd">
|
||||
|
||||
<bean id="fooFactory" class="org.springframework.beans.factory.FooFactoryBean"/>
|
||||
|
||||
</beans>
|
||||
|
|
@ -0,0 +1,72 @@
|
|||
package org.springframework.beans.factory;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.instanceOf;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertThat;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.springframework.beans.factory.BeanFactory;
|
||||
import org.springframework.beans.factory.config.AbstractFactoryBean;
|
||||
import org.springframework.beans.factory.xml.XmlBeanFactory;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
|
||||
|
||||
/**
|
||||
* Written with the intention of reproducing SPR-7318.
|
||||
*
|
||||
* @author Chris Beams
|
||||
*/
|
||||
public class FactoryBeanLookupTests {
|
||||
private BeanFactory beanFactory;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
beanFactory = new XmlBeanFactory(
|
||||
new ClassPathResource("FactoryBeanLookupTests-context.xml", this.getClass()));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void factoryBeanLookupByNameDereferencing() {
|
||||
Object fooFactory = beanFactory.getBean("&fooFactory");
|
||||
assertThat(fooFactory, instanceOf(FooFactoryBean.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void factoryBeanLookupByType() {
|
||||
FooFactoryBean fooFactory = beanFactory.getBean(FooFactoryBean.class);
|
||||
assertNotNull(fooFactory);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void factoryBeanLookupByTypeAndNameDereference() {
|
||||
FooFactoryBean fooFactory = beanFactory.getBean("&fooFactory", FooFactoryBean.class);
|
||||
assertNotNull(fooFactory);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void factoryBeanObjectLookupByName() {
|
||||
Object fooFactory = beanFactory.getBean("fooFactory");
|
||||
assertThat(fooFactory, instanceOf(Foo.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void factoryBeanObjectLookupByNameAndType() {
|
||||
Foo foo = beanFactory.getBean("fooFactory", Foo.class);
|
||||
assertNotNull(foo);
|
||||
}
|
||||
}
|
||||
|
||||
class FooFactoryBean extends AbstractFactoryBean<Foo> {
|
||||
@Override
|
||||
protected Foo createInstance() throws Exception {
|
||||
return new Foo();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<?> getObjectType() {
|
||||
return Foo.class;
|
||||
}
|
||||
}
|
||||
|
||||
class Foo { }
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<beansProjectDescription>
|
||||
<version>1</version>
|
||||
<pluginVersion><![CDATA[2.3.0.200912170948-RELEASE]]></pluginVersion>
|
||||
<pluginVersion><![CDATA[2.3.3.201004202100-CI-R3763-B716]]></pluginVersion>
|
||||
<configSuffixes>
|
||||
<configSuffix><![CDATA[xml]]></configSuffix>
|
||||
</configSuffixes>
|
||||
|
|
@ -11,6 +11,7 @@
|
|||
<config>src/test/java/org/springframework/context/annotation/configuration/SecondLevelSubConfig-context.xml</config>
|
||||
<config>src/test/java/org/springframework/context/annotation/configuration/ImportXmlWithAopNamespace-context.xml</config>
|
||||
<config>src/test/java/org/springframework/context/annotation/Spr6602Tests-context.xml</config>
|
||||
<config>src/test/java/org/springframework/beans/factory/FactoryBeanLookupTests-context.xml</config>
|
||||
</configs>
|
||||
<configSets>
|
||||
</configSets>
|
||||
|
|
|
|||
Loading…
Reference in New Issue