org.springframework.context.support.ClassPathXmlApplicationContext.getBeanNamesForType()方法的使用及代码示例

x33g5p2x  于2022-01-18 转载在 其他  
字(12.5k)|赞(0)|评价(0)|浏览(113)

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

ClassPathXmlApplicationContext.getBeanNamesForType介绍

暂无

代码示例

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

@Override
@SuppressWarnings("resource")
public void loadResource(String path) {
  ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[] { path },
      applicationContext);
  String[] names = context.getBeanNamesForType(Job.class);
  for (String name : names) {
    configurations.put(name, path);
  }
}

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

@Test
public void staticScriptImplementingInterface() {
  ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("bshContext.xml", getClass());
  assertTrue(Arrays.asList(ctx.getBeanNamesForType(Messenger.class)).contains("messengerImpl"));
  Messenger messenger = (Messenger) ctx.getBean("messengerImpl");
  String desiredMessage = "Hello World!";
  assertEquals("Message is incorrect", desiredMessage, messenger.getMessage());
  assertTrue(ctx.getBeansOfType(Messenger.class).values().contains(messenger));
  ctx.close();
  assertNull(messenger.getMessage());
}

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

@Test
public void staticWithScriptReturningInstance() {
  ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("bshContext.xml", getClass());
  assertTrue(Arrays.asList(ctx.getBeanNamesForType(Messenger.class)).contains("messengerInstance"));
  Messenger messenger = (Messenger) ctx.getBean("messengerInstance");
  String desiredMessage = "Hello World!";
  assertEquals("Message is incorrect", desiredMessage, messenger.getMessage());
  assertTrue(ctx.getBeansOfType(Messenger.class).values().contains(messenger));
  ctx.close();
  assertNull(messenger.getMessage());
}

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

@Test
public void staticScriptWithTwoInterfacesSpecified() {
  ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("bshContext.xml", getClass());
  assertTrue(Arrays.asList(ctx.getBeanNamesForType(Messenger.class)).contains("messengerWithConfigExtra"));
  ConfigurableMessenger messenger = (ConfigurableMessenger) ctx.getBean("messengerWithConfigExtra");
  messenger.setMessage(null);
  assertNull(messenger.getMessage());
  assertTrue(ctx.getBeansOfType(Messenger.class).values().contains(messenger));
  ctx.close();
  assertNull(messenger.getMessage());
}

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

private void assertOneMessageSourceOnly(ClassPathXmlApplicationContext ctx, Object myMessageSource) {
  String[] beanNamesForType = ctx.getBeanNamesForType(StaticMessageSource.class);
  assertEquals(1, beanNamesForType.length);
  assertEquals("myMessageSource", beanNamesForType[0]);
  beanNamesForType = ctx.getBeanNamesForType(StaticMessageSource.class, true, true);
  assertEquals(1, beanNamesForType.length);
  assertEquals("myMessageSource", beanNamesForType[0]);
  beanNamesForType = BeanFactoryUtils.beanNamesForTypeIncludingAncestors(ctx, StaticMessageSource.class);
  assertEquals(1, beanNamesForType.length);
  assertEquals("myMessageSource", beanNamesForType[0]);
  beanNamesForType = BeanFactoryUtils.beanNamesForTypeIncludingAncestors(ctx, StaticMessageSource.class, true, true);
  assertEquals(1, beanNamesForType.length);
  assertEquals("myMessageSource", beanNamesForType[0]);
  Map<?, StaticMessageSource> beansOfType = ctx.getBeansOfType(StaticMessageSource.class);
  assertEquals(1, beansOfType.size());
  assertSame(myMessageSource, beansOfType.values().iterator().next());
  beansOfType = ctx.getBeansOfType(StaticMessageSource.class, true, true);
  assertEquals(1, beansOfType.size());
  assertSame(myMessageSource, beansOfType.values().iterator().next());
  beansOfType = BeanFactoryUtils.beansOfTypeIncludingAncestors(ctx, StaticMessageSource.class);
  assertEquals(1, beansOfType.size());
  assertSame(myMessageSource, beansOfType.values().iterator().next());
  beansOfType = BeanFactoryUtils.beansOfTypeIncludingAncestors(ctx, StaticMessageSource.class, true, true);
  assertEquals(1, beansOfType.size());
  assertSame(myMessageSource, beansOfType.values().iterator().next());
}

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

@Test
public void resourceScriptFromTag() {
  ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("bsh-with-xsd.xml", getClass());
  TestBean testBean = (TestBean) ctx.getBean("testBean");
  Collection<String> beanNames = Arrays.asList(ctx.getBeanNamesForType(Messenger.class));
  assertTrue(beanNames.contains("messenger"));
  assertTrue(beanNames.contains("messengerImpl"));
  assertTrue(beanNames.contains("messengerInstance"));
  Messenger messenger = (Messenger) ctx.getBean("messenger");
  assertEquals("Hello World!", messenger.getMessage());
  assertFalse(messenger instanceof Refreshable);
  Messenger messengerImpl = (Messenger) ctx.getBean("messengerImpl");
  assertEquals("Hello World!", messengerImpl.getMessage());
  Messenger messengerInstance = (Messenger) ctx.getBean("messengerInstance");
  assertEquals("Hello World!", messengerInstance.getMessage());
  TestBeanAwareMessenger messengerByType = (TestBeanAwareMessenger) ctx.getBean("messengerByType");
  assertEquals(testBean, messengerByType.getTestBean());
  TestBeanAwareMessenger messengerByName = (TestBeanAwareMessenger) ctx.getBean("messengerByName");
  assertEquals(testBean, messengerByName.getTestBean());
  Collection<Messenger> beans = ctx.getBeansOfType(Messenger.class).values();
  assertTrue(beans.contains(messenger));
  assertTrue(beans.contains(messengerImpl));
  assertTrue(beans.contains(messengerInstance));
  assertTrue(beans.contains(messengerByType));
  assertTrue(beans.contains(messengerByName));
  ctx.close();
  assertNull(messenger.getMessage());
  assertNull(messengerImpl.getMessage());
  assertNull(messengerInstance.getMessage());
}

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

@Test
@SuppressWarnings("resource")
public void testExecutionWithApplicationContext() throws Exception {
  ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("test-context.xml", getClass());
  MapJobRegistry registry = (MapJobRegistry) context.getBean("registry");
  Collection<String> configurations = registry.getJobNames();
  // System.err.println(configurations);
  String[] names = context.getBeanNamesForType(JobSupport.class);
  int count = names.length;
  // Each concrete bean of type JobConfiguration is registered...
  assertEquals(count, configurations.size());
  // N.B. there is a failure / wonky mode where a parent bean is given an
  // explicit name or beanName (using property setter): in this case then
  // child beans will have the same name and will be re-registered (and
  // override, if the registry supports that).
  assertNotNull(registry.getJob("test-job"));
  assertEquals(context.getBean("test-job-with-name"), registry.getJob("foo"));
  assertEquals(context.getBean("test-job-with-bean-name"), registry.getJob("bar"));
  assertEquals(context.getBean("test-job-with-parent-and-name"), registry.getJob("spam"));
  assertEquals(context.getBean("test-job-with-parent-and-bean-name"), registry.getJob("bucket"));
  assertEquals(context.getBean("test-job-with-concrete-parent"), registry.getJob("maps"));
  assertEquals(context.getBean("test-job-with-concrete-parent-and-name"), registry.getJob("oof"));
  assertEquals(context.getBean("test-job-with-concrete-parent-and-bean-name"), registry.getJob("rab"));
}

代码示例来源:origin: org.ikasan/ikasan-errorpub

/**
 * Constructor
 * 
 * @param contextPath
 *            - path for spring config file(s) that may contain one or more
 *            <code>AttributeResolver</code> beans
 */
public FirstStrikeAttributeResolverFactoryBean(String contextPath) {
  ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
      contextPath);
  List<AttributeResolver> attributeResolvers = new ArrayList<AttributeResolver>();
  String[] beanNamesForType = context
      .getBeanNamesForType(AttributeResolver.class);
  for (String beanName : beanNamesForType) {
    AttributeResolver attributeResolver = (AttributeResolver) context
        .getBean(beanName);
    attributeResolvers.add(attributeResolver);
  }
  firstStrikeAttributeResolver = new FirstStrikeAttributeResolver(
      attributeResolvers);
}

代码示例来源:origin: frenchc/jetm

public void testMultipleEntries() {
 ClassPathXmlApplicationContext ctx = getContext("monitoring-multiple-entries.xml");
 ctx.start();
 try {
  String[] proxyCreators = ctx.getBeanNamesForType(BeanNameAutoProxyCreator.class);
  assertEquals(4, proxyCreators.length);
  String[] etmInterceptor = ctx.getBeanNamesForType(EtmMethodCallInterceptor.class);
  assertEquals(4, etmInterceptor.length);
  String[] namedInterceptor = ctx.getBeanNamesForType(MonitoringBeanDefinitionParser.NamedEtmMethodCallInterceptor.class);
  assertEquals(3, namedInterceptor.length);
  String[] monitors = ctx.getBeanNamesForType(EtmMonitor.class);
  assertEquals(1, monitors.length);
 } finally {
  ctx.destroy();
 }
}

代码示例来源:origin: frenchc/jetm

public void testMonitorAutowire() {
 ClassPathXmlApplicationContext ctx = getContext("monitoring-autowire.xml");
 ctx.start();
 try {
  String[] proxyCreator = ctx.getBeanNamesForType(BeanNameAutoProxyCreator.class);
  assertEquals(1, proxyCreator.length);
  String[] monitors = ctx.getBeanNamesForType(EtmMonitor.class);
  assertEquals(1, monitors.length);
 } finally {
  ctx.destroy();
 }
}

代码示例来源:origin: frenchc/jetm

public void testMonitorRef() {
 ClassPathXmlApplicationContext ctx = getContext("monitoring-runtime-ref.xml");
 ctx.start();
 try {
  String[] proxyCreator = ctx.getBeanNamesForType(BeanNameAutoProxyCreator.class);
  assertEquals(1, proxyCreator.length);
  String[] monitors = ctx.getBeanNamesForType(EtmMonitor.class);
  assertEquals(2, monitors.length);
 } finally {
  ctx.destroy();
 }
}

代码示例来源:origin: frenchc/jetm

public void testRuntimePlugins() {
 ClassPathXmlApplicationContext ctx = getContext("runtime-plugin.xml");
 try {
  ctx.start();
  String[] monitors = ctx.getBeanNamesForType(EtmMonitor.class);
  assertEquals(1, monitors.length);
  EtmMonitor monitor = (EtmMonitor) ctx.getBean(monitors[0]);
  EtmMonitorMetaData etmMonitorMetaData = monitor.getMetaData();
  assertEquals(2, etmMonitorMetaData.getPluginMetaData().size());
  PluginMetaData pluginOne = (PluginMetaData) etmMonitorMetaData.getPluginMetaData().get(0);
  assertEquals(Log4jDumpOnShutdownPlugin.class, pluginOne.getImplementationClass());
  assertEquals("fooBar", pluginOne.getProperties().get("logName"));
  PluginMetaData pluginTwo = (PluginMetaData) etmMonitorMetaData.getPluginMetaData().get(1);
  assertEquals(SystemOutDumpOnShutdownPlugin.class, pluginTwo.getImplementationClass());
 } finally {
  ctx.stop();
 }
}

代码示例来源:origin: frenchc/jetm

public void testRuntimeChain() {
  ClassPathXmlApplicationContext ctx = getContext("runtime-chain.xml");
  try {
   ctx.start();
   String[] monitors = ctx.getBeanNamesForType(EtmMonitor.class);
   assertEquals(1, monitors.length);

   EtmMonitor monitor = (EtmMonitor) ctx.getBean(monitors[0]);
   assertEquals(NestedMonitor.class, monitor.getClass());

   EtmMonitorMetaData etmMonitorMetaData = monitor.getMetaData();
   AggregatorMetaData firstElement = etmMonitorMetaData.getAggregatorMetaData();
   assertEquals(BufferedTimedAggregator.class, firstElement.getImplementationClass());

   AggregatorMetaData secondElement = firstElement.getNestedMetaData();
   assertEquals(CommonsLoggingAggregator.class, secondElement.getImplementationClass());

   AggregatorMetaData thirdElement = secondElement.getNestedMetaData();
   assertEquals(SpringRootAggregator.class, thirdElement.getImplementationClass());

  } finally {
   ctx.stop();
  }

 }
}

代码示例来源:origin: frenchc/jetm

public void testRuntimeFeatures() {
 ClassPathXmlApplicationContext ctx = getContext("runtime-features.xml");
 try {
  ctx.start();
  String[] monitors = ctx.getBeanNamesForType(EtmMonitor.class);
  assertEquals(1, monitors.length);
  EtmMonitor monitor = (EtmMonitor) ctx.getBean(monitors[0]);
  EtmMonitorMetaData etmMonitorMetaData = monitor.getMetaData();
  assertEquals(BufferedTimedAggregator.class, etmMonitorMetaData.getAggregatorMetaData().getImplementationClass());
  assertEquals(Log4jAggregator.class, etmMonitorMetaData.getAggregatorMetaData().getNestedMetaData().getImplementationClass());
  assertEquals(PersistentRootAggregator.class, etmMonitorMetaData.getAggregatorMetaData().getNestedMetaData().getNestedMetaData().getImplementationClass());
  assertEquals(DefaultTimer.class, etmMonitorMetaData.getTimerMetaData().getImplementationClass());
 } finally {
  ctx.destroy();
 }
}

相关文章

微信公众号

最新文章

更多