类 BootstrapContext


@Experimental public class BootstrapContext extends BeanDefinitionCustomizers
Startup(Refresh) Context
从以下版本开始:
4.0
作者:
TODAY 2021/10/19 22:22
  • 字段详细资料

  • 构造器详细资料

  • 方法详细资料

    • getRegistry

      public BeanDefinitionRegistry getRegistry()
    • getApplicationContext

      @Nullable public ApplicationContext getApplicationContext()
    • getEnvironment

      public cn.taketoday.core.env.Environment getEnvironment()
    • setEnvironment

      public void setEnvironment(@Nullable cn.taketoday.core.env.Environment environment)
      Set environment when applicationContext is null
      参数:
      environment - Environment
    • getBeanFactory

      public BeanFactory getBeanFactory()
    • unwrapFactory

      public <T> T unwrapFactory(Class<T> requiredType)
      unwrap bean-factory to requiredType
      抛出:
      IllegalArgumentException - not a requiredType
    • unwrapContext

      public <T> T unwrapContext(Class<T> requiredType)
      unwrap this ApplicationContext to requiredType
      抛出:
      IllegalArgumentException - not a requiredType
    • generateBeanName

      public String generateBeanName(BeanDefinition definition)
      Generate a bean name for the given bean definition.

      use internal registry

      参数:
      definition - the bean definition to generate a name for
      返回:
      the generated bean name
    • getConditionEvaluator

      public ConditionEvaluator getConditionEvaluator()
    • registerBeanDefinition

      public void registerBeanDefinition(String beanName, BeanDefinition definition)
    • registerAlias

      public void registerAlias(String beanName, String alias)
    • containsBeanDefinition

      public boolean containsBeanDefinition(Class<?> beanClass)
    • containsBeanDefinition

      public boolean containsBeanDefinition(Class<?> type, boolean equals)
    • containsBeanDefinition

      public boolean containsBeanDefinition(String beanName)
    • removeBeanDefinition

      public void removeBeanDefinition(String beanName)
    • getBeanDefinition

      public BeanDefinition getBeanDefinition(String beanName)
    • passCondition

      public boolean passCondition(cn.taketoday.core.type.AnnotatedTypeMetadata metadata, @Nullable ConfigurationCondition.ConfigurationPhase phase)
    • shouldSkip

      public boolean shouldSkip(@Nullable cn.taketoday.core.type.AnnotatedTypeMetadata metadata, @Nullable ConfigurationCondition.ConfigurationPhase phase)
    • passCondition

      public boolean passCondition(cn.taketoday.core.type.AnnotatedTypeMetadata metadata)
    • getInstantiator

      public BeanFactoryAwareInstantiator getInstantiator()
    • instantiate

      public <T> T instantiate(Class<T> beanClass)
    • instantiate

      public <T> T instantiate(Class<T> beanClass, @Nullable Object[] providedArgs)
    • setResourceLoader

      public void setResourceLoader(@Nullable cn.taketoday.core.io.ResourceLoader resourceLoader)
      Set the ResourceLoader to use for resource locations. This will typically be a PatternResourceLoader implementation.

      Default is a PathMatchingResourcePatternResolver, also capable of resource pattern resolving through the ResourcePatternResolver interface.

      另请参阅:
      • PatternResourceLoader
      • PathMatchingPatternResourceLoader
    • getResourceLoader

      public cn.taketoday.core.io.PatternResourceLoader getResourceLoader()
    • setMetadataReaderFactory

      public void setMetadataReaderFactory(@Nullable cn.taketoday.core.type.classreading.MetadataReaderFactory metadataReaderFactory)
      Set the MetadataReaderFactory to use.

      Default is a CachingMetadataReaderFactory for the specified resource loader.

      Call this setter method after setResourceLoader(cn.taketoday.core.io.ResourceLoader) in order for the given MetadataReaderFactory to override the default factory.

    • getMetadataReaderFactory

      public final cn.taketoday.core.type.classreading.MetadataReaderFactory getMetadataReaderFactory()
      Return the MetadataReaderFactory used by this component provider.
    • getAnnotationMetadata

      public cn.taketoday.core.type.AnnotationMetadata getAnnotationMetadata(String className) throws IOException
      抛出:
      IOException
    • getMetadataReader

      public cn.taketoday.core.type.classreading.MetadataReader getMetadataReader(String className) throws IOException
      抛出:
      IOException
    • clearCache

      public void clearCache()
      Clear the local metadata cache, if any, removing all cached class metadata.
    • evaluateExpression

      public String evaluateExpression(String expression)
    • evaluateExpression

      public <T> T evaluateExpression(String expression, Class<T> requiredType)
    • getResource

      public cn.taketoday.core.io.Resource getResource(String location)
    • getResources

      public Set<cn.taketoday.core.io.Resource> getResources(String locationPattern) throws IOException
      抛出:
      IOException
    • setScopeMetadataResolver

      public void setScopeMetadataResolver(ScopeMetadataResolver scopeMetadataResolver)
    • getScopeMetadataResolver

      public ScopeMetadataResolver getScopeMetadataResolver()
    • resolveScopeName

      public String resolveScopeName(BeanDefinition definition)
      Get the name of the scope.
      另请参阅:
    • resolveScopeMetadata

      public ScopeMetadata resolveScopeMetadata(BeanDefinition definition)
      Resolve the ScopeMetadata appropriate to the supplied bean definition.

      Implementations can of course use any strategy they like to determine the scope metadata, but some implementations that immediately to mind might be to use source level annotations present on the class of the supplied definition, or to use metadata present in the AttributeAccessor.getAttributeNames() of the supplied definition.

      参数:
      definition - the target bean definition
      返回:
      the relevant scope metadata; never null
    • setPropertySourceFactory

      public void setPropertySourceFactory(@Nullable cn.taketoday.core.io.PropertySourceFactory propertySourceFactory)
      setting default PropertySourceFactory
      参数:
      propertySourceFactory - PropertySourceFactory
    • getPropertySourceFactory

      public cn.taketoday.core.io.PropertySourceFactory getPropertySourceFactory()
    • setBeanNameGenerator

      public void setBeanNameGenerator(@Nullable BeanNameGenerator beanNameGenerator)
      Set the BeanNameGenerator to use for detected bean classes.

      The default is a AnnotationBeanNameGenerator.

    • getBeanNameGenerator

      public BeanNameGenerator getBeanNameGenerator()
    • setProblemReporter

      public void setProblemReporter(ProblemReporter problemReporter)
    • getProblemReporter

      public ProblemReporter getProblemReporter()
    • reportError

      public void reportError(Problem problem)
    • reportWarning

      public void reportWarning(Problem problem)
    • reportFatal

      public void reportFatal(Problem problem)
    • getClassLoader

      public ClassLoader getClassLoader()
    • from

      public static BootstrapContext from(BeanFactory beanFactory)