Class ExposingClassPathBeanDefinitionScanner

java.lang.Object
org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider
org.springframework.context.annotation.ClassPathBeanDefinitionScanner
io.microsphere.spring.context.annotation.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

    IGNORE_CLASSFORMAT_PROPERTY_NAME, 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

    Modifier and Type
    Method
    Description
    boolean
    checkCandidate(String beanName, org.springframework.beans.factory.config.BeanDefinition beanDefinition)
     
    Set<org.springframework.beans.factory.config.BeanDefinitionHolder>
    doScan(String... basePackages)
     
    org.springframework.beans.factory.config.SingletonBeanRegistry
     
    void
    registerBeanDefinition(String beanName, org.springframework.beans.factory.config.BeanDefinition beanDefinition)
     
    void
    registerSingleton(String beanName, 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 Details

    • 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 Details

    • doScan

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

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

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

      public void registerBeanDefinition(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(String beanName, Object singletonObject)