本文整理汇总了Java中org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType方法的典型用法代码示例。如果您正苦于以下问题:Java DefaultListableBeanFactory.getBeanNamesForType方法的具体用法?Java DefaultListableBeanFactory.getBeanNamesForType怎么用?Java DefaultListableBeanFactory.getBeanNamesForType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.springframework.beans.factory.support.DefaultListableBeanFactory
的用法示例。
在下文中一共展示了DefaultListableBeanFactory.getBeanNamesForType方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: testFactoryMethodWithDifferentReturnType
import org.springframework.beans.factory.support.DefaultListableBeanFactory; //导入方法依赖的package包/类
@Test
public void testFactoryMethodWithDifferentReturnType() {
DefaultListableBeanFactory xbf = new DefaultListableBeanFactory();
XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(xbf);
reader.loadBeanDefinitions(new ClassPathResource("factory-methods.xml", getClass()));
// Check that listInstance is not considered a bean of type FactoryMethods.
assertTrue(List.class.isAssignableFrom(xbf.getType("listInstance")));
String[] names = xbf.getBeanNamesForType(FactoryMethods.class);
assertTrue(!Arrays.asList(names).contains("listInstance"));
names = xbf.getBeanNamesForType(List.class);
assertTrue(Arrays.asList(names).contains("listInstance"));
xbf.preInstantiateSingletons();
assertTrue(List.class.isAssignableFrom(xbf.getType("listInstance")));
names = xbf.getBeanNamesForType(FactoryMethods.class);
assertTrue(!Arrays.asList(names).contains("listInstance"));
names = xbf.getBeanNamesForType(List.class);
assertTrue(Arrays.asList(names).contains("listInstance"));
List<?> list = (List<?>) xbf.getBean("listInstance");
assertEquals(Collections.EMPTY_LIST, list);
}
示例2: testStaticFactoryMethodFoundByNonEagerTypeMatching
import org.springframework.beans.factory.support.DefaultListableBeanFactory; //导入方法依赖的package包/类
@Test
public void testStaticFactoryMethodFoundByNonEagerTypeMatching() {
DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
RootBeanDefinition rbd = new RootBeanDefinition(TestBeanFactory.class);
rbd.setFactoryMethodName("createTestBean");
lbf.registerBeanDefinition("x1", rbd);
TestBeanFactory.initialized = false;
String[] beanNames = lbf.getBeanNamesForType(TestBean.class, true, false);
assertEquals(1, beanNames.length);
assertEquals("x1", beanNames[0]);
assertFalse(lbf.containsSingleton("x1"));
assertTrue(lbf.containsBean("x1"));
assertFalse(lbf.containsBean("&x1"));
assertTrue(lbf.isSingleton("x1"));
assertFalse(lbf.isSingleton("&x1"));
assertFalse(lbf.isPrototype("x1"));
assertFalse(lbf.isPrototype("&x1"));
assertTrue(lbf.isTypeMatch("x1", TestBean.class));
assertFalse(lbf.isTypeMatch("&x1", TestBean.class));
assertEquals(TestBean.class, lbf.getType("x1"));
assertEquals(null, lbf.getType("&x1"));
assertFalse(TestBeanFactory.initialized);
}
示例3: testStaticPrototypeFactoryMethodFoundByNonEagerTypeMatching
import org.springframework.beans.factory.support.DefaultListableBeanFactory; //导入方法依赖的package包/类
@Test
public void testStaticPrototypeFactoryMethodFoundByNonEagerTypeMatching() {
DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
RootBeanDefinition rbd = new RootBeanDefinition(TestBeanFactory.class);
rbd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
rbd.setFactoryMethodName("createTestBean");
lbf.registerBeanDefinition("x1", rbd);
TestBeanFactory.initialized = false;
String[] beanNames = lbf.getBeanNamesForType(TestBean.class, true, false);
assertEquals(1, beanNames.length);
assertEquals("x1", beanNames[0]);
assertFalse(lbf.containsSingleton("x1"));
assertTrue(lbf.containsBean("x1"));
assertFalse(lbf.containsBean("&x1"));
assertFalse(lbf.isSingleton("x1"));
assertFalse(lbf.isSingleton("&x1"));
assertTrue(lbf.isPrototype("x1"));
assertFalse(lbf.isPrototype("&x1"));
assertTrue(lbf.isTypeMatch("x1", TestBean.class));
assertFalse(lbf.isTypeMatch("&x1", TestBean.class));
assertEquals(TestBean.class, lbf.getType("x1"));
assertEquals(null, lbf.getType("&x1"));
assertFalse(TestBeanFactory.initialized);
}
示例4: testGetBeanNamesForTypeBeforeFactoryBeanCreation
import org.springframework.beans.factory.support.DefaultListableBeanFactory; //导入方法依赖的package包/类
@Test
public void testGetBeanNamesForTypeBeforeFactoryBeanCreation() {
DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
lbf.registerBeanDefinition("factoryBean", new RootBeanDefinition(FactoryBeanThatShouldntBeCalled.class));
assertFalse(lbf.containsSingleton("factoryBean"));
String[] beanNames = lbf.getBeanNamesForType(Runnable.class, false, false);
assertEquals(1, beanNames.length);
assertEquals("&factoryBean", beanNames[0]);
beanNames = lbf.getBeanNamesForType(Callable.class, false, false);
assertEquals(1, beanNames.length);
assertEquals("&factoryBean", beanNames[0]);
beanNames = lbf.getBeanNamesForType(RepositoryFactoryInformation.class, false, false);
assertEquals(1, beanNames.length);
assertEquals("&factoryBean", beanNames[0]);
beanNames = lbf.getBeanNamesForType(FactoryBean.class, false, false);
assertEquals(1, beanNames.length);
assertEquals("&factoryBean", beanNames[0]);
}
示例5: testGetBeanNamesForTypeAfterFactoryBeanCreation
import org.springframework.beans.factory.support.DefaultListableBeanFactory; //导入方法依赖的package包/类
@Test
public void testGetBeanNamesForTypeAfterFactoryBeanCreation() {
DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
lbf.registerBeanDefinition("factoryBean", new RootBeanDefinition(FactoryBeanThatShouldntBeCalled.class));
lbf.getBean("&factoryBean");
String[] beanNames = lbf.getBeanNamesForType(Runnable.class, false, false);
assertEquals(1, beanNames.length);
assertEquals("&factoryBean", beanNames[0]);
beanNames = lbf.getBeanNamesForType(Callable.class, false, false);
assertEquals(1, beanNames.length);
assertEquals("&factoryBean", beanNames[0]);
beanNames = lbf.getBeanNamesForType(RepositoryFactoryInformation.class, false, false);
assertEquals(1, beanNames.length);
assertEquals("&factoryBean", beanNames[0]);
beanNames = lbf.getBeanNamesForType(FactoryBean.class, false, false);
assertEquals(1, beanNames.length);
assertEquals("&factoryBean", beanNames[0]);
}
示例6: testPrototypeFactoryBeanIgnoredByNonEagerTypeMatching
import org.springframework.beans.factory.support.DefaultListableBeanFactory; //导入方法依赖的package包/类
@Test
public void testPrototypeFactoryBeanIgnoredByNonEagerTypeMatching() {
DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
Properties p = new Properties();
p.setProperty("x1.(class)", DummyFactory.class.getName());
// Reset static state
DummyFactory.reset();
p.setProperty("x1.(singleton)", "false");
p.setProperty("x1.singleton", "false");
(new PropertiesBeanDefinitionReader(lbf)).registerBeanDefinitions(p);
assertTrue("prototype not instantiated", !DummyFactory.wasPrototypeCreated());
String[] beanNames = lbf.getBeanNamesForType(TestBean.class, true, false);
assertEquals(0, beanNames.length);
beanNames = lbf.getBeanNamesForAnnotation(SuppressWarnings.class);
assertEquals(0, beanNames.length);
assertFalse(lbf.containsSingleton("x1"));
assertTrue(lbf.containsBean("x1"));
assertTrue(lbf.containsBean("&x1"));
assertFalse(lbf.isSingleton("x1"));
assertFalse(lbf.isSingleton("&x1"));
assertTrue(lbf.isPrototype("x1"));
assertTrue(lbf.isPrototype("&x1"));
assertTrue(lbf.isTypeMatch("x1", TestBean.class));
assertFalse(lbf.isTypeMatch("&x1", TestBean.class));
assertTrue(lbf.isTypeMatch("&x1", DummyFactory.class));
assertTrue(lbf.isTypeMatch("&x1", ResolvableType.forClass(DummyFactory.class)));
assertTrue(lbf.isTypeMatch("&x1", ResolvableType.forClassWithGenerics(FactoryBean.class, Object.class)));
assertFalse(lbf.isTypeMatch("&x1", ResolvableType.forClassWithGenerics(FactoryBean.class, String.class)));
assertEquals(TestBean.class, lbf.getType("x1"));
assertEquals(DummyFactory.class, lbf.getType("&x1"));
assertTrue("prototype not instantiated", !DummyFactory.wasPrototypeCreated());
}
示例7: testSingletonFactoryBeanIgnoredByNonEagerTypeMatching
import org.springframework.beans.factory.support.DefaultListableBeanFactory; //导入方法依赖的package包/类
@Test
public void testSingletonFactoryBeanIgnoredByNonEagerTypeMatching() {
DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
Properties p = new Properties();
p.setProperty("x1.(class)", DummyFactory.class.getName());
// Reset static state
DummyFactory.reset();
p.setProperty("x1.(singleton)", "false");
p.setProperty("x1.singleton", "true");
(new PropertiesBeanDefinitionReader(lbf)).registerBeanDefinitions(p);
assertTrue("prototype not instantiated", !DummyFactory.wasPrototypeCreated());
String[] beanNames = lbf.getBeanNamesForType(TestBean.class, true, false);
assertEquals(0, beanNames.length);
beanNames = lbf.getBeanNamesForAnnotation(SuppressWarnings.class);
assertEquals(0, beanNames.length);
assertFalse(lbf.containsSingleton("x1"));
assertTrue(lbf.containsBean("x1"));
assertTrue(lbf.containsBean("&x1"));
assertFalse(lbf.isSingleton("x1"));
assertFalse(lbf.isSingleton("&x1"));
assertTrue(lbf.isPrototype("x1"));
assertTrue(lbf.isPrototype("&x1"));
assertTrue(lbf.isTypeMatch("x1", TestBean.class));
assertFalse(lbf.isTypeMatch("&x1", TestBean.class));
assertTrue(lbf.isTypeMatch("&x1", DummyFactory.class));
assertTrue(lbf.isTypeMatch("&x1", ResolvableType.forClass(DummyFactory.class)));
assertTrue(lbf.isTypeMatch("&x1", ResolvableType.forClassWithGenerics(FactoryBean.class, Object.class)));
assertFalse(lbf.isTypeMatch("&x1", ResolvableType.forClassWithGenerics(FactoryBean.class, String.class)));
assertEquals(TestBean.class, lbf.getType("x1"));
assertEquals(DummyFactory.class, lbf.getType("&x1"));
assertTrue("prototype not instantiated", !DummyFactory.wasPrototypeCreated());
}
示例8: testNonInitializedFactoryBeanIgnoredByNonEagerTypeMatching
import org.springframework.beans.factory.support.DefaultListableBeanFactory; //导入方法依赖的package包/类
@Test
public void testNonInitializedFactoryBeanIgnoredByNonEagerTypeMatching() {
DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
Properties p = new Properties();
p.setProperty("x1.(class)", DummyFactory.class.getName());
// Reset static state
DummyFactory.reset();
p.setProperty("x1.singleton", "false");
(new PropertiesBeanDefinitionReader(lbf)).registerBeanDefinitions(p);
assertTrue("prototype not instantiated", !DummyFactory.wasPrototypeCreated());
String[] beanNames = lbf.getBeanNamesForType(TestBean.class, true, false);
assertEquals(0, beanNames.length);
beanNames = lbf.getBeanNamesForAnnotation(SuppressWarnings.class);
assertEquals(0, beanNames.length);
assertFalse(lbf.containsSingleton("x1"));
assertTrue(lbf.containsBean("x1"));
assertTrue(lbf.containsBean("&x1"));
assertFalse(lbf.isSingleton("x1"));
assertTrue(lbf.isSingleton("&x1"));
assertTrue(lbf.isPrototype("x1"));
assertFalse(lbf.isPrototype("&x1"));
assertTrue(lbf.isTypeMatch("x1", TestBean.class));
assertFalse(lbf.isTypeMatch("&x1", TestBean.class));
assertTrue(lbf.isTypeMatch("&x1", DummyFactory.class));
assertTrue(lbf.isTypeMatch("&x1", ResolvableType.forClass(DummyFactory.class)));
assertTrue(lbf.isTypeMatch("&x1", ResolvableType.forClassWithGenerics(FactoryBean.class, Object.class)));
assertFalse(lbf.isTypeMatch("&x1", ResolvableType.forClassWithGenerics(FactoryBean.class, String.class)));
assertEquals(TestBean.class, lbf.getType("x1"));
assertEquals(DummyFactory.class, lbf.getType("&x1"));
assertTrue("prototype not instantiated", !DummyFactory.wasPrototypeCreated());
}
示例9: testNonStaticFactoryMethodFoundByNonEagerTypeMatching
import org.springframework.beans.factory.support.DefaultListableBeanFactory; //导入方法依赖的package包/类
@Test
public void testNonStaticFactoryMethodFoundByNonEagerTypeMatching() {
DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
RootBeanDefinition factoryBd = new RootBeanDefinition(TestBeanFactory.class);
lbf.registerBeanDefinition("factory", factoryBd);
RootBeanDefinition rbd = new RootBeanDefinition(TestBeanFactory.class);
rbd.setFactoryBeanName("factory");
rbd.setFactoryMethodName("createTestBeanNonStatic");
lbf.registerBeanDefinition("x1", rbd);
TestBeanFactory.initialized = false;
String[] beanNames = lbf.getBeanNamesForType(TestBean.class, true, false);
assertEquals(1, beanNames.length);
assertEquals("x1", beanNames[0]);
assertFalse(lbf.containsSingleton("x1"));
assertTrue(lbf.containsBean("x1"));
assertFalse(lbf.containsBean("&x1"));
assertTrue(lbf.isSingleton("x1"));
assertFalse(lbf.isSingleton("&x1"));
assertFalse(lbf.isPrototype("x1"));
assertFalse(lbf.isPrototype("&x1"));
assertTrue(lbf.isTypeMatch("x1", TestBean.class));
assertFalse(lbf.isTypeMatch("&x1", TestBean.class));
assertEquals(TestBean.class, lbf.getType("x1"));
assertEquals(null, lbf.getType("&x1"));
assertFalse(TestBeanFactory.initialized);
}
示例10: afterTestMethod
import org.springframework.beans.factory.support.DefaultListableBeanFactory; //导入方法依赖的package包/类
@Override
public void afterTestMethod(TestContext testContext) throws Exception {
super.afterTestMethod(testContext);
DefaultListableBeanFactory beanFactory = (DefaultListableBeanFactory) testContext.getApplicationContext()
.getAutowireCapableBeanFactory();
/**
* 方法结束后记录被测试对象的bean名称
*/
Object bean = testContext.getTestInstance();
List<Field> fields = getDeclaredFields(bean);
for (Field field : fields) {
InjectMocks injectMocks = field.getAnnotation(InjectMocks.class);
if (injectMocks == null) {
continue;
}
Object testedBean = null;
String testedBeanName = null;
/**
* 被测试的对象如果通过spring自动注入,则记录
* 两种注入方式 Autowired
* Resource
*/
if (field.getAnnotation(Autowired.class) != null) {
Qualifier qualifier = field.getAnnotation(Qualifier.class);
testedBean = qualifier == null ? beanFactory.getBean(field.getType())
: beanFactory.getBean(qualifier.value());
testedBeanName = qualifier == null ? beanFactory.getBeanNamesForType(field.getType())[0]
: qualifier.value();
} else if (field.getAnnotation(Resource.class) != null) {
Resource resource = field.getAnnotation(Resource.class);
Class<?> type = resource.type();
String name = resource.name();
if (StringUtils.isNotEmpty(name)) {
testedBean = beanFactory.getBean(name);
testedBeanName = name;
} else {
testedBean = (type != Object.class) ? beanFactory.getBean(type)
: beanFactory.getBean(field.getType());
testedBeanName = (type != Object.class) ? beanFactory.getBeanNamesForType(type)[0]
: beanFactory.getBeanNamesForType(field.getType())[0];
}
}
if (testedBean != null) {
testedObjects.put(testedBeanName, testedBean);
}
}
}
示例11: SpringModule
import org.springframework.beans.factory.support.DefaultListableBeanFactory; //导入方法依赖的package包/类
public SpringModule(DefaultListableBeanFactory beanFactory) {
this.beanFactory = beanFactory;
if (beanFactory.getBeanNamesForType(GuiceModuleMetadata.class).length > 0) {
this.matcher = new CompositeTypeMatcher(beanFactory.getBeansOfType(GuiceModuleMetadata.class).values());
}
}
示例12: testInitializedFactoryBeanFoundByNonEagerTypeMatching
import org.springframework.beans.factory.support.DefaultListableBeanFactory; //导入方法依赖的package包/类
@Test
public void testInitializedFactoryBeanFoundByNonEagerTypeMatching() {
DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
Properties p = new Properties();
p.setProperty("x1.(class)", DummyFactory.class.getName());
// Reset static state
DummyFactory.reset();
p.setProperty("x1.singleton", "false");
(new PropertiesBeanDefinitionReader(lbf)).registerBeanDefinitions(p);
lbf.preInstantiateSingletons();
assertTrue("prototype not instantiated", !DummyFactory.wasPrototypeCreated());
String[] beanNames = lbf.getBeanNamesForType(TestBean.class, true, false);
assertEquals(1, beanNames.length);
assertEquals("x1", beanNames[0]);
assertTrue(lbf.containsSingleton("x1"));
assertTrue(lbf.containsBean("x1"));
assertTrue(lbf.containsBean("&x1"));
assertTrue(lbf.containsLocalBean("x1"));
assertTrue(lbf.containsLocalBean("&x1"));
assertFalse(lbf.isSingleton("x1"));
assertTrue(lbf.isSingleton("&x1"));
assertTrue(lbf.isPrototype("x1"));
assertFalse(lbf.isPrototype("&x1"));
assertTrue(lbf.isTypeMatch("x1", TestBean.class));
assertFalse(lbf.isTypeMatch("&x1", TestBean.class));
assertTrue(lbf.isTypeMatch("&x1", DummyFactory.class));
assertTrue(lbf.isTypeMatch("x1", Object.class));
assertTrue(lbf.isTypeMatch("&x1", Object.class));
assertEquals(TestBean.class, lbf.getType("x1"));
assertEquals(DummyFactory.class, lbf.getType("&x1"));
assertTrue("prototype not instantiated", !DummyFactory.wasPrototypeCreated());
lbf.registerAlias("x1", "x2");
assertTrue(lbf.containsBean("x2"));
assertTrue(lbf.containsBean("&x2"));
assertTrue(lbf.containsLocalBean("x2"));
assertTrue(lbf.containsLocalBean("&x2"));
assertFalse(lbf.isSingleton("x2"));
assertTrue(lbf.isSingleton("&x2"));
assertTrue(lbf.isPrototype("x2"));
assertFalse(lbf.isPrototype("&x2"));
assertTrue(lbf.isTypeMatch("x2", TestBean.class));
assertFalse(lbf.isTypeMatch("&x2", TestBean.class));
assertTrue(lbf.isTypeMatch("&x2", DummyFactory.class));
assertTrue(lbf.isTypeMatch("x2", Object.class));
assertTrue(lbf.isTypeMatch("&x2", Object.class));
assertEquals(TestBean.class, lbf.getType("x2"));
assertEquals(DummyFactory.class, lbf.getType("&x2"));
assertEquals(1, lbf.getAliases("x1").length);
assertEquals("x2", lbf.getAliases("x1")[0]);
assertEquals(1, lbf.getAliases("&x1").length);
assertEquals("&x2", lbf.getAliases("&x1")[0]);
assertEquals(1, lbf.getAliases("x2").length);
assertEquals("x1", lbf.getAliases("x2")[0]);
assertEquals(1, lbf.getAliases("&x2").length);
assertEquals("&x1", lbf.getAliases("&x2")[0]);
}
示例13: testNonStaticPrototypeFactoryMethodFoundByNonEagerTypeMatching
import org.springframework.beans.factory.support.DefaultListableBeanFactory; //导入方法依赖的package包/类
@Test
public void testNonStaticPrototypeFactoryMethodFoundByNonEagerTypeMatching() {
DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
RootBeanDefinition factoryBd = new RootBeanDefinition(TestBeanFactory.class);
lbf.registerBeanDefinition("factory", factoryBd);
RootBeanDefinition rbd = new RootBeanDefinition();
rbd.setFactoryBeanName("factory");
rbd.setFactoryMethodName("createTestBeanNonStatic");
rbd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
lbf.registerBeanDefinition("x1", rbd);
TestBeanFactory.initialized = false;
String[] beanNames = lbf.getBeanNamesForType(TestBean.class, true, false);
assertEquals(1, beanNames.length);
assertEquals("x1", beanNames[0]);
assertFalse(lbf.containsSingleton("x1"));
assertTrue(lbf.containsBean("x1"));
assertFalse(lbf.containsBean("&x1"));
assertTrue(lbf.containsLocalBean("x1"));
assertFalse(lbf.containsLocalBean("&x1"));
assertFalse(lbf.isSingleton("x1"));
assertFalse(lbf.isSingleton("&x1"));
assertTrue(lbf.isPrototype("x1"));
assertFalse(lbf.isPrototype("&x1"));
assertTrue(lbf.isTypeMatch("x1", TestBean.class));
assertFalse(lbf.isTypeMatch("&x1", TestBean.class));
assertTrue(lbf.isTypeMatch("x1", Object.class));
assertFalse(lbf.isTypeMatch("&x1", Object.class));
assertEquals(TestBean.class, lbf.getType("x1"));
assertEquals(null, lbf.getType("&x1"));
assertFalse(TestBeanFactory.initialized);
lbf.registerAlias("x1", "x2");
assertTrue(lbf.containsBean("x2"));
assertFalse(lbf.containsBean("&x2"));
assertTrue(lbf.containsLocalBean("x2"));
assertFalse(lbf.containsLocalBean("&x2"));
assertFalse(lbf.isSingleton("x2"));
assertFalse(lbf.isSingleton("&x2"));
assertTrue(lbf.isPrototype("x2"));
assertFalse(lbf.isPrototype("&x2"));
assertTrue(lbf.isTypeMatch("x2", TestBean.class));
assertFalse(lbf.isTypeMatch("&x2", TestBean.class));
assertTrue(lbf.isTypeMatch("x2", Object.class));
assertFalse(lbf.isTypeMatch("&x2", Object.class));
assertEquals(TestBean.class, lbf.getType("x2"));
assertEquals(null, lbf.getType("&x2"));
assertEquals(1, lbf.getAliases("x1").length);
assertEquals("x2", lbf.getAliases("x1")[0]);
assertEquals(1, lbf.getAliases("&x1").length);
assertEquals("&x2", lbf.getAliases("&x1")[0]);
assertEquals(1, lbf.getAliases("x2").length);
assertEquals("x1", lbf.getAliases("x2")[0]);
assertEquals(1, lbf.getAliases("&x2").length);
assertEquals("&x1", lbf.getAliases("&x2")[0]);
}