org.springframework.context.annotation.AnnotationConfigApplicationContext.registerBeanDefinition()方法的使用及代码示例

x33g5p2x  于2022-01-15 转载在 其他  
字(12.8k)|赞(0)|评价(0)|浏览(107)

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

AnnotationConfigApplicationContext.registerBeanDefinition介绍

暂无

代码示例

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

@Test
public void componentScanOverlapsWithImportUsingAsm() {
  AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext();
  ctx.registerBeanDefinition("config1", new RootBeanDefinition(Config1.class.getName()));
  ctx.registerBeanDefinition("config2", new RootBeanDefinition(Config2.class.getName()));
  ctx.refresh(); // no conflicts found trying to register SimpleComponent
  ctx.getBean(SimpleComponent.class); // succeeds -> there is only one bean of type SimpleComponent
}

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

@Test
@SuppressWarnings("resource")
public void formatFieldForValueInjection() {
  AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext();
  ac.registerBeanDefinition("valueBean", new RootBeanDefinition(ValueBean.class));
  ac.registerBeanDefinition("conversionService", new RootBeanDefinition(FormattingConversionServiceFactoryBean.class));
  ac.refresh();
  ValueBean valueBean = ac.getBean(ValueBean.class);
  assertEquals(new LocalDate(2009, 10, 31), new LocalDate(valueBean.date));
}

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

@Test
public void componentScanViaImportUsingAsm() {
  AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext();
  ctx.registerBeanDefinition("config", new RootBeanDefinition(Config3.class.getName()));
  ctx.refresh();
  ctx.getBean(SimpleComponent.class);
}

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

@Test
public void withAnnotatedTransactionManagers() throws Exception {
  AnnotationConfigApplicationContext parent = new AnnotationConfigApplicationContext();
  parent.registerBeanDefinition("transactionManager1", new RootBeanDefinition(SynchTransactionManager.class));
  parent.registerBeanDefinition("transactionManager2", new RootBeanDefinition(NoSynchTransactionManager.class));
  parent.refresh();
  ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[] {"annotationDrivenConfigurationClassTests.xml"}, getClass(), parent);
  doTestWithMultipleTransactionManagers(context);
}

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

@Test
public void circularImportViaComponentScan() {
  AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext();
  ctx.registerBeanDefinition("config", new RootBeanDefinition(ImportingConfig.class.getName()));
  ctx.refresh();
  ctx.getBean(SimpleComponent.class);
}

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

@Test(expected = NoSuchBeanDefinitionException.class)
public void thingIsNotAvailableWhenOuterConfigurationIsRegisteredWithClassName() {
  try (AnnotationConfigApplicationContext directRegistration = new AnnotationConfigApplicationContext()) {
    directRegistration.registerBeanDefinition("config",
        new RootBeanDefinition(AccidentalLiteConfiguration.class.getName()));
    directRegistration.refresh();
    directRegistration.getBean(Thing.class);
  }
}

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

@Test
public void metaConditionalWithAsm() throws Exception {
  AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext();
  ctx.registerBeanDefinition("config", new RootBeanDefinition(ConfigurationWithMetaCondition.class.getName()));
  ctx.refresh();
  assertTrue(ctx.containsBean("bean"));
}

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

@Test
public void nonConfigurationClassWithAsm() throws Exception {
  AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext();
  ctx.registerBeanDefinition("config", new RootBeanDefinition(NonConfigurationClass.class.getName()));
  ctx.refresh();
  assertFalse(ctx.containsBean("bean1"));
}

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

@Test
@SuppressWarnings("resource")
public void testNonLoadedConfigClass() {
  AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
  context.registerBeanDefinition("config", new RootBeanDefinition(InvokerAutowiringConfig.class.getName()));
  context.refresh();
  MyBean myBean = context.getBean("myBean", MyBean.class);
  assertSame(context.getBean("myService"), myBean.myService);
  myBean.myService.handle();
  myBean.myService.handleAsync();
}

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

@Test
public void methodConditionalWithAsm() throws Exception {
  AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext();
  ctx.registerBeanDefinition("config", new RootBeanDefinition(ConditionOnMethodConfiguration.class.getName()));
  ctx.refresh();
  assertFalse(ctx.containsBean("bean1"));
}

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

@Test
public void findsBeansByTypeIfNotInstantiated() {
  AnnotationConfigApplicationContext bf = new AnnotationConfigApplicationContext();
  bf.registerBeanDefinition("fooConfig", new RootBeanDefinition(FooConfig.class));
  bf.getBeanFactory().addBeanPostProcessor(new PredictingBPP());
  bf.refresh();
  assertThat(bf.isTypeMatch("&foo", FactoryBean.class), is(true));
  @SuppressWarnings("rawtypes")
  Map<String, FactoryBean> fbBeans = bf.getBeansOfType(FactoryBean.class);
  assertThat(1, equalTo(fbBeans.size()));
  assertThat("&foo", equalTo(fbBeans.keySet().iterator().next()));
  Map<String, AnInterface> aiBeans = bf.getBeansOfType(AnInterface.class);
  assertThat(1, equalTo(aiBeans.size()));
  assertThat("&foo", equalTo(aiBeans.keySet().iterator().next()));
}

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

@Test
public void testCustomWithAsm() {
  AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext();
  ctx.registerBeanDefinition("customConfig", new RootBeanDefinition(CustomConfig.class.getName()));
  RootBeanDefinition customPojo = new RootBeanDefinition(CustomPojo.class.getName());
  customPojo.setLazyInit(true);
  ctx.registerBeanDefinition("customPojo", customPojo);
  ctx.refresh();
  assertFalse(ctx.getBeanFactory().containsSingleton("testBean1"));
  assertFalse(ctx.getBeanFactory().containsSingleton("testBean2"));
  CustomPojo pojo = ctx.getBean(CustomPojo.class);
  assertThat(pojo.testBean.getName(), equalTo("interesting"));
}

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

@Test
public void repro() {
  AnnotationConfigApplicationContext bf = new AnnotationConfigApplicationContext();
  bf.registerBeanDefinition("fooConfig", new RootBeanDefinition(FooConfig.class));
  bf.getBeanFactory().addBeanPostProcessor(new PredictingBPP());
  bf.refresh();
  assertThat(bf.getBean("foo"), instanceOf(Foo.class));
  assertThat(bf.getBean("&foo"), instanceOf(FooFactoryBean.class));
  assertThat(bf.isTypeMatch("&foo", FactoryBean.class), is(true));
  @SuppressWarnings("rawtypes")
  Map<String, FactoryBean> fbBeans = bf.getBeansOfType(FactoryBean.class);
  assertThat(1, equalTo(fbBeans.size()));
  assertThat("&foo", equalTo(fbBeans.keySet().iterator().next()));
  Map<String, AnInterface> aiBeans = bf.getBeansOfType(AnInterface.class);
  assertThat(1, equalTo(aiBeans.size()));
  assertThat("&foo", equalTo(aiBeans.keySet().iterator().next()));
}

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

@Test
public void beanMethodOverridingOnASM() {
  AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext();
  ctx.registerBeanDefinition("config", new RootBeanDefinition(OverridingConfig.class.getName()));
  ctx.setAllowBeanDefinitionOverriding(false);
  ctx.refresh();
  assertFalse(ctx.getDefaultListableBeanFactory().containsSingleton("testBean"));
  assertEquals("overridden", ctx.getBean("testBean", TestBean.class).toString());
  assertTrue(ctx.getDefaultListableBeanFactory().containsSingleton("testBean"));
}

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

@Test
public void stringConcatenationWithDebugLogging() {
  AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext();
  GenericBeanDefinition bd = new GenericBeanDefinition();
  bd.setBeanClass(String.class);
  bd.getConstructorArgumentValues().addGenericArgumentValue("test-#{ T(java.lang.System).currentTimeMillis() }");
  ac.registerBeanDefinition("str", bd);
  ac.refresh();
  String str = ac.getBean("str", String.class);
  assertTrue(str.startsWith("test-"));
}

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

@Test
public void beanMethodOverridingWithNarrowedReturnTypeOnASM() {
  AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext();
  ctx.registerBeanDefinition("config", new RootBeanDefinition(NarrowedOverridingConfig.class.getName()));
  ctx.setAllowBeanDefinitionOverriding(false);
  ctx.refresh();
  assertFalse(ctx.getDefaultListableBeanFactory().containsSingleton("testBean"));
  assertEquals("overridden", ctx.getBean("testBean", TestBean.class).toString());
  assertTrue(ctx.getDefaultListableBeanFactory().containsSingleton("testBean"));
}

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

@Test
public void configurationWithPostProcessor() {
  AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext();
  ctx.register(ConfigWithPostProcessor.class);
  RootBeanDefinition placeholderConfigurer = new RootBeanDefinition(PropertyPlaceholderConfigurer.class);
  placeholderConfigurer.getPropertyValues().add("properties", "myProp=myValue");
  ctx.registerBeanDefinition("placeholderConfigurer", placeholderConfigurer);
  ctx.refresh();
  TestBean foo = ctx.getBean("foo", TestBean.class);
  ITestBean bar = ctx.getBean("bar", ITestBean.class);
  ITestBean baz = ctx.getBean("baz", ITestBean.class);
  assertEquals("foo-processed-myValue", foo.getName());
  assertEquals("bar-processed-myValue", bar.getName());
  assertEquals("baz-processed-myValue", baz.getName());
  SpousyTestBean listener = ctx.getBean("listenerTestBean", SpousyTestBean.class);
  assertTrue(listener.refreshed);
  ctx.close();
}

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

private void doTestLazyResourceInjection(Class<? extends TestBeanHolder> annotatedBeanClass) {
  AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext();
  RootBeanDefinition abd = new RootBeanDefinition(annotatedBeanClass);
  abd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
  ac.registerBeanDefinition("annotatedBean", abd);
  RootBeanDefinition tbd = new RootBeanDefinition(TestBean.class);
  tbd.setLazyInit(true);
  ac.registerBeanDefinition("testBean", tbd);
  ac.refresh();
  TestBeanHolder bean = ac.getBean("annotatedBean", TestBeanHolder.class);
  assertFalse(ac.getBeanFactory().containsSingleton("testBean"));
  assertNotNull(bean.getTestBean());
  assertNull(bean.getTestBean().getName());
  assertTrue(ac.getBeanFactory().containsSingleton("testBean"));
  TestBean tb = (TestBean) ac.getBean("testBean");
  tb.setName("tb");
  assertSame("tb", bean.getTestBean().getName());
}

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

@Test
public void individualBeanWithFactoryBeanSupplierAndTargetType() {
  AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
  RootBeanDefinition bd = new RootBeanDefinition();
  bd.setInstanceSupplier(TypedFactoryBean::new);
  bd.setTargetType(ResolvableType.forClassWithGenerics(FactoryBean.class, String.class));
  bd.setLazyInit(true);
  context.registerBeanDefinition("fb", bd);
  context.refresh();
  assertEquals(String.class, context.getType("fb"));
  assertEquals(FactoryBean.class, context.getType("&fb"));
}

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

@Test
public void testLazyResourceInjectionWithField() {
  doTestLazyResourceInjection(FieldResourceInjectionBean.class);
  AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext();
  RootBeanDefinition abd = new RootBeanDefinition(FieldResourceInjectionBean.class);
  abd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
  ac.registerBeanDefinition("annotatedBean", abd);
  RootBeanDefinition tbd = new RootBeanDefinition(TestBean.class);
  tbd.setLazyInit(true);
  ac.registerBeanDefinition("testBean", tbd);
  ac.refresh();
  FieldResourceInjectionBean bean = ac.getBean("annotatedBean", FieldResourceInjectionBean.class);
  assertFalse(ac.getBeanFactory().containsSingleton("testBean"));
  assertFalse(bean.getTestBeans().isEmpty());
  assertNull(bean.getTestBeans().get(0).getName());
  assertTrue(ac.getBeanFactory().containsSingleton("testBean"));
  TestBean tb = (TestBean) ac.getBean("testBean");
  tb.setName("tb");
  assertSame("tb", bean.getTestBean().getName());
}

相关文章

微信公众号

最新文章

更多

AnnotationConfigApplicationContext类方法