Class ExposingClassPathBeanDefinitionScanner

  • All Implemented Interfaces:
    org.springframework.beans.factory.Aware, org.springframework.context.ResourceLoaderAware, org.springframework.core.env.EnvironmentCapable

    public class ExposingClassPathBeanDefinitionScanner
    extends org.springframework.context.annotation.ClassPathBeanDefinitionScanner
    A extension class of ClassPathBeanDefinitionScanner to expose some methods:
    • ClassPathBeanDefinitionScanner.doScan(String...)
    • ClassPathBeanDefinitionScanner.checkCandidate(String, BeanDefinition)

    ExposingClassPathBeanDefinitionScanner also supports the features from BeanDefinitionRegistry and SingletonBeanRegistry

    Example Usage

    
         // Create an instance with a BeanDefinitionRegistry
         ExposingClassPathBeanDefinitionScanner scanner = new ExposingClassPathBeanDefinitionScanner(registry, useDefaultFilters, environment, resourceLoader);
    
         // Perform a scan to detect and register beans
         Set<BeanDefinitionHolder> beanDefinitions = scanner.doScan("com.example.package");
    
         // Register a custom bean definition
         scanner.registerBeanDefinition("myBean", myBeanDefinition);
    
         // Register a singleton instance
         scanner.registerSingleton("mySingleton", new MySingleton());
     
    Since:
    1.0.0
    See Also:
    ClassPathBeanDefinitionScanner, BeanDefinitionRegistry, SingletonBeanRegistry
    • Field Summary

      • Fields inherited from class org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider

        logger
    • Constructor Summary

      Constructors 
      Constructor Description
      ExposingClassPathBeanDefinitionScanner​(org.springframework.beans.factory.support.BeanDefinitionRegistry registry, boolean useDefaultFilters, org.springframework.core.env.Environment environment, org.springframework.core.io.ResourceLoader resourceLoader)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean checkCandidate​(java.lang.String beanName, org.springframework.beans.factory.config.BeanDefinition beanDefinition)  
      java.util.Set<org.springframework.beans.factory.config.BeanDefinitionHolder> doScan​(java.lang.String... basePackages)  
      org.springframework.beans.factory.config.SingletonBeanRegistry getSingletonBeanRegistry()  
      void registerBeanDefinition​(java.lang.String beanName, org.springframework.beans.factory.config.BeanDefinition beanDefinition)  
      void registerSingleton​(java.lang.String beanName, java.lang.Object singletonObject)  
      • Methods inherited from class org.springframework.context.annotation.ClassPathBeanDefinitionScanner

        getBeanDefinitionDefaults, getRegistry, isCompatible, postProcessBeanDefinition, registerBeanDefinition, scan, setAutowireCandidatePatterns, setBeanDefinitionDefaults, setBeanNameGenerator, setIncludeAnnotationConfig, setScopedProxyMode, setScopeMetadataResolver
      • Methods inherited from class org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider

        addExcludeFilter, addIncludeFilter, clearCache, findCandidateComponents, getEnvironment, getMetadataReaderFactory, getResourceLoader, isCandidateComponent, isCandidateComponent, registerDefaultFilters, resetFilters, resolveBasePackage, setEnvironment, setMetadataReaderFactory, setResourceLoader, setResourcePattern
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ExposingClassPathBeanDefinitionScanner

        public ExposingClassPathBeanDefinitionScanner​(org.springframework.beans.factory.support.BeanDefinitionRegistry registry,
                                                      boolean useDefaultFilters,
                                                      org.springframework.core.env.Environment environment,
                                                      org.springframework.core.io.ResourceLoader resourceLoader)
    • Method Detail

      • doScan

        public java.util.Set<org.springframework.beans.factory.config.BeanDefinitionHolder> doScan​(java.lang.String... basePackages)
        Overrides:
        doScan in class org.springframework.context.annotation.ClassPathBeanDefinitionScanner
      • checkCandidate

        public boolean checkCandidate​(java.lang.String beanName,
                                      org.springframework.beans.factory.config.BeanDefinition beanDefinition)
                               throws java.lang.IllegalStateException
        Overrides:
        checkCandidate in class org.springframework.context.annotation.ClassPathBeanDefinitionScanner
        Throws:
        java.lang.IllegalStateException
      • getSingletonBeanRegistry

        public org.springframework.beans.factory.config.SingletonBeanRegistry getSingletonBeanRegistry()
      • registerBeanDefinition

        public void registerBeanDefinition​(java.lang.String beanName,
                                           org.springframework.beans.factory.config.BeanDefinition beanDefinition)
                                    throws org.springframework.beans.factory.BeanDefinitionStoreException
        Throws:
        org.springframework.beans.factory.BeanDefinitionStoreException
      • registerSingleton

        public void registerSingleton​(java.lang.String beanName,
                                      java.lang.Object singletonObject)