Java Code Examples for org.springframework.beans.factory.ListableBeanFactory#getBeansOfType()

The following examples show how to use org.springframework.beans.factory.ListableBeanFactory#getBeansOfType() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: MeterRegistryPostProcessor.java    From foremast with Apache License 2.0 6 votes vote down vote up
private MeterRegistryConfigurer getConfigurer() {
    if (this.configurer == null) {
        Collection<MeterBinder> meterBinders = Collections.emptyList();
        Collection<MeterFilter> meterFilters = Collections.emptyList();
        Collection<MeterRegistryCustomizer<?>> meterRegistryCustomizers = Collections.emptyList();
        MetricsProperties properties = beanFactory.getBean(MetricsProperties.class);
        if (beanFactory instanceof ListableBeanFactory) {
            ListableBeanFactory listableBeanFactory = (ListableBeanFactory)beanFactory;
            meterBinders = listableBeanFactory.getBeansOfType(MeterBinder.class).values();
            meterFilters = listableBeanFactory.getBeansOfType(MeterFilter.class).values();
            Map<String, MeterRegistryCustomizer> map = listableBeanFactory.getBeansOfType(MeterRegistryCustomizer.class);
            meterRegistryCustomizers = new ArrayList<>();
            for(MeterRegistryCustomizer c : map.values()) {
                meterRegistryCustomizers.add(c);
            }
        }
        this.configurer = new MeterRegistryConfigurer(
                meterBinders,
                meterFilters,
                meterRegistryCustomizers, properties.isUseGlobalRegistry());
    }
    return this.configurer;
}
 
Example 2
Source File: MeterRegistryPostProcessor.java    From foremast with Apache License 2.0 6 votes vote down vote up
private MeterRegistryConfigurer getConfigurer() {
    if (this.configurer == null) {
        Collection<MeterBinder> meterBinders = Collections.emptyList();
        Collection<MeterFilter> meterFilters = Collections.emptyList();
        Collection<MeterRegistryCustomizer<?>> meterRegistryCustomizers = Collections.emptyList();
        MetricsProperties properties = beanFactory.getBean(MetricsProperties.class);
        if (beanFactory instanceof ListableBeanFactory) {
            ListableBeanFactory listableBeanFactory = (ListableBeanFactory)beanFactory;
            meterBinders = listableBeanFactory.getBeansOfType(MeterBinder.class).values();
            meterFilters = listableBeanFactory.getBeansOfType(MeterFilter.class).values();
            Map<String, MeterRegistryCustomizer> map = listableBeanFactory.getBeansOfType(MeterRegistryCustomizer.class);
            meterRegistryCustomizers = new ArrayList<>();
            for(MeterRegistryCustomizer c : map.values()) {
                meterRegistryCustomizers.add(c);
            }
        }
        this.configurer = new MeterRegistryConfigurer(
                meterBinders,
                meterFilters,
                meterRegistryCustomizers, properties.isUseGlobalRegistry());
    }
    return this.configurer;
}
 
Example 3
Source File: ObjectUtils.java    From spring-init with Apache License 2.0 6 votes vote down vote up
public static <T> ObjectProvider<Map<String, T>> map(ListableBeanFactory beans,
		Class<T> type) {
	return new ObjectProvider<Map<String, T>>() {

		@Override
		public Map<String, T> getObject() throws BeansException {
			return beans.getBeansOfType(type);
		}

		@Override
		public Map<String, T> getObject(Object... args) throws BeansException {
			return getObject();
		}

		@Override
		public Map<String, T> getIfAvailable() throws BeansException {
			return getObject();
		}

		@Override
		public Map<String, T> getIfUnique() throws BeansException {
			return getObject();
		}
	};
}
 
Example 4
Source File: BeanFactoryAsIoCContainerDemo.java    From geekbang-lessons with Apache License 2.0 5 votes vote down vote up
private static void lookupCollectionByType(BeanFactory beanFactory) {
    if (beanFactory instanceof ListableBeanFactory) {
        ListableBeanFactory listableBeanFactory = (ListableBeanFactory) beanFactory;
        Map<String, User> users = listableBeanFactory.getBeansOfType(User.class);
        System.out.println("查找到的所有的 User 集合对象:" + users);
    }
}
 
Example 5
Source File: AnnotationApplicationContextAsIoCContainerDemo.java    From geekbang-lessons with Apache License 2.0 5 votes vote down vote up
private static void lookupCollectionByType(BeanFactory beanFactory) {
    if (beanFactory instanceof ListableBeanFactory) {
        ListableBeanFactory listableBeanFactory = (ListableBeanFactory) beanFactory;
        Map<String, User> users = listableBeanFactory.getBeansOfType(User.class);
        System.out.println("查找到的所有的 User 集合对象:" + users);
    }
}
 
Example 6
Source File: DependencyLookupDemo.java    From geekbang-lessons with Apache License 2.0 5 votes vote down vote up
private static void lookupCollectionByType(BeanFactory beanFactory) {
    if (beanFactory instanceof ListableBeanFactory) {
        ListableBeanFactory listableBeanFactory = (ListableBeanFactory) beanFactory;
        Map<String, User> users = listableBeanFactory.getBeansOfType(User.class);
        System.out.println("查找到的所有的 User 集合对象:" + users);
    }
}
 
Example 7
Source File: BeanFactoryHelper.java    From eclair with Apache License 2.0 5 votes vote down vote up
public <T> Map<String, T> collectToOrderedMap(ListableBeanFactory beanFactory, Class<T> clazz, List<T> orderedBeans) {
    Map<String, T> beansOfType = beanFactory.getBeansOfType(clazz);
    return orderedBeans.stream()
            .collect(toMap(
                    bean -> buildKey(beansOfType, bean),
                    identity(),
                    this::mergeBeans,
                    LinkedHashMap::new
            ));
}
 
Example 8
Source File: EagleBeanFactoryPostProcessor.java    From eagle with Apache License 2.0 5 votes vote down vote up
private PropertySourcesPlaceholderConfigurer getSinglePropertySourcesPlaceholderConfigurer(DefaultListableBeanFactory beanFactory) {
    if (beanFactory instanceof ListableBeanFactory) {
        ListableBeanFactory listableBeanFactory = (ListableBeanFactory) beanFactory;
        Map<String, PropertySourcesPlaceholderConfigurer> beans = listableBeanFactory
                .getBeansOfType(PropertySourcesPlaceholderConfigurer.class, false,
                        false);
        if (beans.size() == 1) {
            return beans.values().iterator().next();
        }
    }
    return null;
}
 
Example 9
Source File: SpringBootBeanNameResolver.java    From joinfaces with Apache License 2.0 5 votes vote down vote up
/**
 * Will ignore scoped proxy target bean names. https://github.com/ocpsoft/rewrite/issues/170
 *
 * @param beanFactory bean factory
 * @param clazz       type
 * @return set of bean names
 */
private Set<String> resolveBeanNames(ListableBeanFactory beanFactory, Class<?> clazz) {

	final Set<String> result = new HashSet<String>();

	Map<String, ?> beanMap = beanFactory.getBeansOfType(clazz);
	for (String name : beanMap.keySet()) {
		if (name != null && !name.startsWith("scopedTarget.")) {
			result.add(name);
		}
	}

	return result;

}
 
Example 10
Source File: EntityFormatAnnotationFormatterFactory.java    From springlets with Apache License 2.0 5 votes vote down vote up
@SuppressWarnings({"rawtypes"})
private static Map<Class<?>, EntityResolver<?, ?>> loadEntityResolvers(
    ListableBeanFactory beanFactory) {
  Map<String, EntityResolver> entityServices = beanFactory.getBeansOfType(EntityResolver.class);
  Map<Class<?>, EntityResolver<?, ?>> entity2Resolver = new HashMap<>(entityServices.size());
  for (EntityResolver entityResolver : entityServices.values()) {
    entity2Resolver.put(entityResolver.getEntityType(), entityResolver);
  }
  return entity2Resolver;
}