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
ConstructorsConstructorDescriptionExposingClassPathBeanDefinitionScanner
(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 TypeMethodDescriptionboolean
checkCandidate
(String beanName, org.springframework.beans.factory.config.BeanDefinition beanDefinition) Set<org.springframework.beans.factory.config.BeanDefinitionHolder>
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
-
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 classorg.springframework.context.annotation.ClassPathBeanDefinitionScanner
-
checkCandidate
public boolean checkCandidate(String beanName, org.springframework.beans.factory.config.BeanDefinition beanDefinition) throws IllegalStateException - Overrides:
checkCandidate
in classorg.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
-