/** * Get the {@link ContextCustomizerFactory} instances for this bootstrapper. * <p>The default implementation uses the {@link SpringFactoriesLoader} mechanism * for loading factories configured in all {@code META-INF/spring.factories} * files on the classpath. * @since 4.3 * @see SpringFactoriesLoader#loadFactories */ protected List<ContextCustomizerFactory> getContextCustomizerFactories() { return SpringFactoriesLoader.loadFactories(ContextCustomizerFactory.class, getClass().getClassLoader()); }
protected List<FrameworkCommonClasspathPropertySource> getFrameworkSources() { return SpringFactoriesLoader.loadFactories(FrameworkCommonClasspathPropertySource.class, null); }
protected List<BroadleafSharedOverrideProfileAwarePropertySource> getProfileAwareSources() { return SpringFactoriesLoader.loadFactories(BroadleafSharedOverrideProfileAwarePropertySource.class, null); }
List<EnvironmentPostProcessor> loadPostProcessors() { return SpringFactoriesLoader.loadFactories(EnvironmentPostProcessor.class, getClass().getClassLoader()); }
private boolean report(FailureAnalysis analysis, ClassLoader classLoader) { List<FailureAnalysisReporter> reporters = SpringFactoriesLoader .loadFactories(FailureAnalysisReporter.class, classLoader); if (analysis == null || reporters.isEmpty()) { return false; } for (FailureAnalysisReporter reporter : reporters) { reporter.report(analysis); } return true; }
@Test(expected = IllegalArgumentException.class) public void loadInvalid() { SpringFactoriesLoader.loadFactories(String.class, null); }
Loader(ConfigurableEnvironment environment, ResourceLoader resourceLoader) { this.environment = environment; this.placeholdersResolver = new PropertySourcesPlaceholdersResolver( this.environment); this.resourceLoader = (resourceLoader != null) ? resourceLoader : new DefaultResourceLoader(); this.propertySourceLoaders = SpringFactoriesLoader.loadFactories( PropertySourceLoader.class, getClass().getClassLoader()); }
@Test public void loadPackagePrivateFactory() { List<DummyPackagePrivateFactory> factories = SpringFactoriesLoader.loadFactories(DummyPackagePrivateFactory.class, null); assertEquals(1, factories.size()); assertTrue((factories.get(0).getClass().getModifiers() & Modifier.PUBLIC) == 0); }
@Test public void loadFactoriesInCorrectOrder() { List<DummyFactory> factories = SpringFactoriesLoader.loadFactories(DummyFactory.class, null); assertEquals(2, factories.size()); assertTrue(factories.get(0) instanceof MyDummyFactory1); assertTrue(factories.get(1) instanceof MyDummyFactory2); }
@Test public void loadConfigWhenDefaultConfigurerAsSpringFactoryhenDefaultConfigurerApplied() { spy(SpringFactoriesLoader.class); DefaultConfigurer configurer = new DefaultConfigurer(); when(SpringFactoriesLoader .loadFactories(AbstractHttpConfigurer.class, getClass().getClassLoader())) .thenReturn(Arrays.<AbstractHttpConfigurer>asList(configurer)); loadConfig(Config.class); assertThat(configurer.init).isTrue(); assertThat(configurer.configure).isTrue(); }
private List<PropertySourceLoader> initPropertyLoaders() { return SpringFactoriesLoader.loadFactories(PropertySourceLoader.class, getClass().getClassLoader()); }
SpringFactoriesLoader.loadFactories(AbstractHttpConfigurer.class, classLoader);
@Override public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry) throws BeansException { ConfigurableListableBeanFactory beanFactory = (ConfigurableListableBeanFactory) registry; List<IntegrationConfigurationInitializer> initializers = SpringFactoriesLoader.loadFactories(IntegrationConfigurationInitializer.class, beanFactory.getBeanClassLoader()); for (IntegrationConfigurationInitializer initializer : initializers) { initializer.initialize(beanFactory); } }
public static void main(String[] args) { List<PropertySourceLoader> propertySourceLoaders = loadFactories(PropertySourceLoader.class, PropertySourceLoader.class.getClassLoader()); propertySourceLoaders.forEach(System.out::println); } }
/** * Get the {@link ContextCustomizerFactory} instances for this bootstrapper. * <p>The default implementation uses the {@link SpringFactoriesLoader} mechanism * for loading factories configured in all {@code META-INF/spring.factories} * files on the classpath. * @since 4.3 * @see SpringFactoriesLoader#loadFactories */ protected List<ContextCustomizerFactory> getContextCustomizerFactories() { return SpringFactoriesLoader.loadFactories(ContextCustomizerFactory.class, getClass().getClassLoader()); }
/** * Get the {@link ContextCustomizerFactory} instances for this bootstrapper. * <p>The default implementation uses the {@link SpringFactoriesLoader} mechanism * for loading factories configured in all {@code META-INF/spring.factories} * files on the classpath. * @since 4.3 * @see SpringFactoriesLoader#loadFactories */ protected List<ContextCustomizerFactory> getContextCustomizerFactories() { return SpringFactoriesLoader.loadFactories(ContextCustomizerFactory.class, getClass().getClassLoader()); }
Loader(ConfigurableEnvironment environment, ResourceLoader resourceLoader) { this.environment = environment; this.resourceLoader = resourceLoader == null ? new DefaultResourceLoader() : resourceLoader; this.propertySourceLoaders = SpringFactoriesLoader.loadFactories( PropertySourceLoader.class, getClass().getClassLoader()); }
SpringFactoriesLoader.loadFactories(AbstractHttpConfigurer.class, classLoader);
@Override public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry) throws BeansException { ConfigurableListableBeanFactory beanFactory = (ConfigurableListableBeanFactory) registry; List<IntegrationConfigurationInitializer> initializers = SpringFactoriesLoader.loadFactories(IntegrationConfigurationInitializer.class, beanFactory.getBeanClassLoader()); for (IntegrationConfigurationInitializer initializer : initializers) { initializer.initialize(beanFactory); } }
private void initLog(LogContext logContext) { // 加载日志初始化器 List<LogInitializer> initializers = SpringFactoriesLoader.loadFactories(LogInitializer.class, getClassLoader()); for (LogInitializer initializer : initializers) { // 初始化 initializer.init(logContext); } }