org.springframework.beans.factory.BeanFactory.getBean()方法的使用及代码示例

x33g5p2x  于2022-01-16 转载在 其他  
字(6.9k)|赞(0)|评价(0)|浏览(116)

本文整理了Java中org.springframework.beans.factory.BeanFactory.getBean()方法的一些代码示例,展示了BeanFactory.getBean()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。BeanFactory.getBean()方法的具体详情如下:
包路径:org.springframework.beans.factory.BeanFactory
类名称:BeanFactory
方法名:getBean

BeanFactory.getBean介绍

[英]Return the bean instance that uniquely matches the given object type, if any.

This method goes into ListableBeanFactory by-type lookup territory but may also be translated into a conventional by-name lookup based on the name of the given type. For more extensive retrieval operations across sets of beans, use ListableBeanFactory and/or BeanFactoryUtils.
[中]返回唯一匹配给定对象类型的bean实例(如果有)。
此方法进入ListableBeanFactory的按类型查找区域,但也可以根据给定类型的名称转换为传统的按名称查找。要跨多组bean执行更广泛的检索操作,请使用ListableBeanFactory和/或BeanFactoryUtils。

代码示例

代码示例来源:origin: spring-projects/spring-framework

@Override
  public Object resolveShortcut(BeanFactory beanFactory) {
    return beanFactory.getBean(this.shortcut, this.requiredType);
  }
}

代码示例来源:origin: spring-projects/spring-framework

/**
 * Return a bean instance if necessary resolving the bean name through the BeanFactory.
 */
public Object resolveBean() {
  return (this.bean instanceof String ? obtainBeanFactory().getBean((String) this.bean) : this.bean);
}

代码示例来源:origin: spring-projects/spring-framework

@Override
  public Object resolveCandidate(String beanName, Class<?> requiredType, BeanFactory beanFactory) {
    return (!ObjectUtils.isEmpty(args) ? beanFactory.getBean(beanName, args) :
        super.resolveCandidate(beanName, requiredType, beanFactory));
  }
};

代码示例来源:origin: spring-projects/spring-framework

@Test
public void testIsDynamicProxyWhenAutodetectingInterfacesForPrototype() {
  ITestBean test1 = (ITestBean) factory.getBean("test4");
  assertTrue("test4 is a dynamic proxy", Proxy.isProxyClass(test1.getClass()));
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void factoryBeanObjectLookupByName() {
  Object fooFactory = beanFactory.getBean("fooFactory");
  assertThat(fooFactory, instanceOf(Foo.class));
}

代码示例来源:origin: spring-projects/spring-framework

private void aliasesAreRespected(Class<?> testClass, Supplier<TestBean> testBeanSupplier, String beanName) {
  TestBean testBean = testBeanSupplier.get();
  BeanFactory factory = initBeanFactory(testClass);
  assertSame(testBean, factory.getBean(beanName));
  Arrays.stream(factory.getAliases(beanName)).map(factory::getBean).forEach(alias -> assertSame(testBean, alias));
  // method name should not be registered
  exception.expect(NoSuchBeanDefinitionException.class);
  factory.getBean("methodName");
}

代码示例来源:origin: spring-projects/spring-framework

/**
 * Test invoker is automatically added to manipulate target.
 */
@Test
public void testAutoInvoker() {
  String name = "Hieronymous";
  TestBean target = (TestBean) factory.getBean("test");
  target.setName(name);
  ITestBean autoInvoker = (ITestBean) factory.getBean("autoInvoker");
  assertTrue(autoInvoker.getName().equals(name));
}

代码示例来源:origin: spring-projects/spring-framework

/**
 * It should be illegal to dereference a normal bean as a factory.
 */
@Test(expected = BeanIsNotAFactoryException.class)
public void rejectsFactoryGetOnNormalBean() {
  getBeanFactory().getBean("&rod");
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void simplestPossibleConfig() {
  BeanFactory factory = initBeanFactory(SimplestPossibleConfig.class);
  String stringBean = factory.getBean("stringBean", String.class);
  assertEquals("foo", stringBean);
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void beanPostProcessor() {
  TestBean kerry = (TestBean) getBeanFactory().getBean("kerry");
  TestBean kathy = (TestBean) getBeanFactory().getBean("kathy");
  DummyFactory factory = (DummyFactory) getBeanFactory().getBean("&singletonFactory");
  TestBean factoryCreated = (TestBean) getBeanFactory().getBean("singletonFactory");
  assertTrue(kerry.isPostProcessed());
  assertTrue(kathy.isPostProcessed());
  assertTrue(factory.isPostProcessed());
  assertTrue(factoryCreated.isPostProcessed());
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void testRegexpApplied() throws Exception {
  BeanFactory bf = getBeanFactory();
  ITestBean test = (ITestBean) bf.getBean("test");
  MethodCounter counter = (MethodCounter) bf.getBean("countingAdvice");
  assertEquals(0, counter.getCalls());
  test.getName();
  assertEquals(1, counter.getCalls());
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void testJdkProxyWithDoubleProxying() {
  ITestBean tb = (ITestBean) beanFactory.getBean("doubleJdk");
  jdkAssertions(tb, 2);
  assertEquals("doubleJdk", tb.getName());
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void testJdkProxyWithWildcardMatch() {
  ITestBean tb = (ITestBean) beanFactory.getBean("jdk1");
  jdkAssertions(tb, 1);
  assertEquals("jdk1", tb.getName());
}

代码示例来源:origin: spring-projects/spring-framework

/**
 * If no pointcuts match (no attrs) there should be proxying.
 */
@Test
public void testNoProxy() throws Exception {
  BeanFactory bf = getBeanFactory();
  Object o = bf.getBean("noSetters");
  assertFalse(AopUtils.isAopProxy(o));
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void descriptionButNoProperties() {
  TestBean validEmpty = (TestBean) getBeanFactory().getBean("validEmptyWithDescription");
  assertEquals(0, validEmpty.getAge());
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void testCglibProxyWithWildcardMatch() {
  TestBean tb = (TestBean) beanFactory.getBean("cglib1");
  cglibAssertions(tb);
  assertEquals("cglib1", tb.getName());
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void testNoProxy() {
  TestBean tb = (TestBean) beanFactory.getBean("noproxy");
  assertFalse(AopUtils.isAopProxy(tb));
  assertEquals("noproxy", tb.getName());
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void findsValidInstance() {
  Object o = getBeanFactory().getBean("rod");
  assertTrue("Rod bean is a TestBean", o instanceof TestBean);
  TestBean rod = (TestBean) o;
  assertTrue("rod.name is Rod", rod.getName().equals("Rod"));
  assertTrue("rod.age is 31", rod.getAge() == 31);
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void factoryPrototype() throws Exception {
  assertTrue(getBeanFactory().isSingleton("&prototypeFactory"));
  assertFalse(getBeanFactory().isSingleton("prototypeFactory"));
  TestBean tb = (TestBean) getBeanFactory().getBean("prototypeFactory");
  assertTrue(!tb.getName().equals(DummyFactory.SINGLETON_NAME));
  TestBean tb2 = (TestBean) getBeanFactory().getBean("prototypeFactory");
  assertTrue("Prototype references !=", tb != tb2);
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void configWithObjectReturnType() {
  BeanFactory factory = initBeanFactory(ConfigWithNonSpecificReturnTypes.class);
  assertEquals(Object.class, factory.getType("stringBean"));
  assertFalse(factory.isTypeMatch("stringBean", String.class));
  String stringBean = factory.getBean("stringBean", String.class);
  assertEquals("foo", stringBean);
}

相关文章