类 AnnotationConfigReactiveWebApplicationContext

  • 所有已实现的接口:
    Closeable, AutoCloseable, org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanFactory, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.HierarchicalBeanFactory, org.springframework.beans.factory.InitializingBean, org.springframework.beans.factory.ListableBeanFactory, ConfigurableReactiveWebApplicationContext, ReactiveWebApplicationContext, org.springframework.context.annotation.AnnotationConfigRegistry, org.springframework.context.ApplicationContext, org.springframework.context.ApplicationEventPublisher, org.springframework.context.ConfigurableApplicationContext, org.springframework.context.Lifecycle, org.springframework.context.MessageSource, org.springframework.core.env.EnvironmentCapable, org.springframework.core.io.ResourceLoader, org.springframework.core.io.support.ResourcePatternResolver

    public class AnnotationConfigReactiveWebApplicationContext
    extends org.springframework.context.support.AbstractRefreshableConfigApplicationContext
    implements ConfigurableReactiveWebApplicationContext, org.springframework.context.annotation.AnnotationConfigRegistry
    ConfigurableReactiveWebApplicationContext that accepts annotated classes as input - in particular @Configuration-annotated classes, but also plain @Component classes and JSR-330 compliant classes using javax.inject annotations. Allows for registering classes one by one (specifying class names as config location) as well as for classpath scanning (specifying base packages as config location).

    Note: In case of multiple @Configuration classes, later @Bean definitions will override ones defined in earlier loaded files. This can be leveraged to deliberately override certain bean definitions via an extra Configuration class.

    从以下版本开始:
    2.0.0
    另请参阅:
    register(Class...), scan(String...)
    • 嵌套类概要

      • 从类继承的嵌套类/接口 org.springframework.core.io.DefaultResourceLoader

        org.springframework.core.io.DefaultResourceLoader.ClassPathContextResource
    • 字段概要

      • 从类继承的字段 org.springframework.context.support.AbstractApplicationContext

        APPLICATION_EVENT_MULTICASTER_BEAN_NAME, LIFECYCLE_PROCESSOR_BEAN_NAME, logger, MESSAGE_SOURCE_BEAN_NAME
      • 从接口继承的字段 org.springframework.beans.factory.BeanFactory

        FACTORY_BEAN_PREFIX
      • 从接口继承的字段 org.springframework.context.ConfigurableApplicationContext

        CONFIG_LOCATION_DELIMITERS, CONVERSION_SERVICE_BEAN_NAME, ENVIRONMENT_BEAN_NAME, LOAD_TIME_WEAVER_BEAN_NAME, SYSTEM_ENVIRONMENT_BEAN_NAME, SYSTEM_PROPERTIES_BEAN_NAME
      • 从接口继承的字段 org.springframework.core.io.ResourceLoader

        CLASSPATH_URL_PREFIX
      • 从接口继承的字段 org.springframework.core.io.support.ResourcePatternResolver

        CLASSPATH_ALL_URL_PREFIX
    • 方法概要

      所有方法 实例方法 具体方法 
      修饰符和类型方法说明
      protected org.springframework.core.env.ConfigurableEnvironmentcreateEnvironment() 
      protected org.springframework.context.annotation.AnnotatedBeanDefinitionReadergetAnnotatedBeanDefinitionReader​(org.springframework.beans.factory.support.DefaultListableBeanFactory beanFactory)
      Build an AnnotatedBeanDefinitionReader for the given bean factory.
      protected org.springframework.beans.factory.support.BeanNameGeneratorgetBeanNameGenerator()
      Return the custom BeanNameGenerator for use with AnnotatedBeanDefinitionReader and/or ClassPathBeanDefinitionScanner, if any.
      protected org.springframework.context.annotation.ClassPathBeanDefinitionScannergetClassPathBeanDefinitionScanner​(org.springframework.beans.factory.support.DefaultListableBeanFactory beanFactory)
      Build a ClassPathBeanDefinitionScanner for the given bean factory.
      protected org.springframework.core.io.ResourcegetResourceByPath​(String path) 
      protected org.springframework.context.annotation.ScopeMetadataResolvergetScopeMetadataResolver()
      Return the custom ScopeMetadataResolver for use with AnnotatedBeanDefinitionReader and/or ClassPathBeanDefinitionScanner, if any.
      protected voidloadBeanDefinitions​(org.springframework.beans.factory.support.DefaultListableBeanFactory beanFactory)
      Register a BeanDefinition for any classes specified by register(Class...) and scan any packages specified by scan(String...).
      voidregister​(Class<?>... annotatedClasses)
      Register one or more annotated classes to be processed.
      voidscan​(String... basePackages)
      Perform a scan within the specified base packages.
      voidsetBeanNameGenerator​(org.springframework.beans.factory.support.BeanNameGenerator beanNameGenerator)
      Set a custom BeanNameGenerator for use with AnnotatedBeanDefinitionReader and/or ClassPathBeanDefinitionScanner.
      voidsetScopeMetadataResolver​(org.springframework.context.annotation.ScopeMetadataResolver scopeMetadataResolver)
      Set a custom ScopeMetadataResolver for use with AnnotatedBeanDefinitionReader and/or ClassPathBeanDefinitionScanner.
      • 从类继承的方法 org.springframework.context.support.AbstractRefreshableConfigApplicationContext

        afterPropertiesSet, getConfigLocations, getDefaultConfigLocations, resolvePath, setBeanName, setConfigLocation, setConfigLocations, setId
      • 从类继承的方法 org.springframework.context.support.AbstractRefreshableApplicationContext

        assertBeanFactoryActive, cancelRefresh, closeBeanFactory, createBeanFactory, customizeBeanFactory, getBeanFactory, hasBeanFactory, refreshBeanFactory, setAllowBeanDefinitionOverriding, setAllowCircularReferences
      • 从类继承的方法 org.springframework.context.support.AbstractApplicationContext

        addApplicationListener, addBeanFactoryPostProcessor, close, containsBean, containsBeanDefinition, containsLocalBean, destroy, destroyBeans, doClose, findAnnotationOnBean, finishBeanFactoryInitialization, finishRefresh, getAliases, getApplicationListeners, getApplicationName, getAutowireCapableBeanFactory, getBean, getBean, getBean, getBean, getBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanFactoryPostProcessors, getBeanNamesForAnnotation, getBeanNamesForType, getBeanNamesForType, getBeanNamesForType, getBeanProvider, getBeanProvider, getBeansOfType, getBeansOfType, getBeansWithAnnotation, getDisplayName, getEnvironment, getId, getInternalParentBeanFactory, getInternalParentMessageSource, getMessage, getMessage, getMessage, getParent, getParentBeanFactory, getResourcePatternResolver, getResources, getStartupDate, getType, initApplicationEventMulticaster, initLifecycleProcessor, initMessageSource, initPropertySources, invokeBeanFactoryPostProcessors, isActive, isPrototype, isRunning, isSingleton, isTypeMatch, isTypeMatch, obtainFreshBeanFactory, onClose, onRefresh, postProcessBeanFactory, prepareBeanFactory, prepareRefresh, publishEvent, publishEvent, publishEvent, refresh, registerBeanPostProcessors, registerListeners, registerShutdownHook, resetCommonCaches, setDisplayName, setEnvironment, setParent, start, stop, toString
      • 从类继承的方法 org.springframework.core.io.DefaultResourceLoader

        addProtocolResolver, clearResourceCaches, getClassLoader, getProtocolResolvers, getResource, getResourceCache, setClassLoader
      • 从接口继承的方法 org.springframework.context.ApplicationContext

        getApplicationName, getAutowireCapableBeanFactory, getDisplayName, getId, getParent, getStartupDate
      • 从接口继承的方法 org.springframework.context.ApplicationEventPublisher

        publishEvent, publishEvent
      • 从接口继承的方法 org.springframework.beans.factory.BeanFactory

        containsBean, getAliases, getBean, getBean, getBean, getBean, getBean, getBeanProvider, getBeanProvider, getType, isPrototype, isSingleton, isTypeMatch, isTypeMatch
      • 从接口继承的方法 org.springframework.context.ConfigurableApplicationContext

        addApplicationListener, addBeanFactoryPostProcessor, addProtocolResolver, close, getBeanFactory, getEnvironment, isActive, refresh, registerShutdownHook, setEnvironment, setId, setParent
      • 从接口继承的方法 org.springframework.beans.factory.HierarchicalBeanFactory

        containsLocalBean, getParentBeanFactory
      • 从接口继承的方法 org.springframework.context.Lifecycle

        isRunning, start, stop
      • 从接口继承的方法 org.springframework.beans.factory.ListableBeanFactory

        containsBeanDefinition, findAnnotationOnBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanNamesForAnnotation, getBeanNamesForType, getBeanNamesForType, getBeanNamesForType, getBeansOfType, getBeansOfType, getBeansWithAnnotation
      • 从接口继承的方法 org.springframework.context.MessageSource

        getMessage, getMessage, getMessage
      • 从接口继承的方法 org.springframework.core.io.ResourceLoader

        getClassLoader, getResource
      • 从接口继承的方法 org.springframework.core.io.support.ResourcePatternResolver

        getResources
    • 方法详细资料

      • createEnvironment

        protected org.springframework.core.env.ConfigurableEnvironment createEnvironment()
        覆盖:
        createEnvironment 在类中 org.springframework.context.support.AbstractApplicationContext
      • setBeanNameGenerator

        public void setBeanNameGenerator​(org.springframework.beans.factory.support.BeanNameGenerator beanNameGenerator)
        Set a custom BeanNameGenerator for use with AnnotatedBeanDefinitionReader and/or ClassPathBeanDefinitionScanner.

        Default is AnnotationBeanNameGenerator.

        参数:
        beanNameGenerator - the bean name generator
        另请参阅:
        AnnotatedBeanDefinitionReader.setBeanNameGenerator(org.springframework.beans.factory.support.BeanNameGenerator), ClassPathBeanDefinitionScanner.setBeanNameGenerator(org.springframework.beans.factory.support.BeanNameGenerator)
      • getBeanNameGenerator

        protected org.springframework.beans.factory.support.BeanNameGenerator getBeanNameGenerator()
        Return the custom BeanNameGenerator for use with AnnotatedBeanDefinitionReader and/or ClassPathBeanDefinitionScanner, if any.
        返回:
        the bean name generator
      • setScopeMetadataResolver

        public void setScopeMetadataResolver​(org.springframework.context.annotation.ScopeMetadataResolver scopeMetadataResolver)
        Set a custom ScopeMetadataResolver for use with AnnotatedBeanDefinitionReader and/or ClassPathBeanDefinitionScanner.

        Default is an AnnotationScopeMetadataResolver.

        参数:
        scopeMetadataResolver - the scope metadata resolver
        另请参阅:
        AnnotatedBeanDefinitionReader.setScopeMetadataResolver(org.springframework.context.annotation.ScopeMetadataResolver), ClassPathBeanDefinitionScanner.setScopeMetadataResolver(org.springframework.context.annotation.ScopeMetadataResolver)
      • getScopeMetadataResolver

        protected org.springframework.context.annotation.ScopeMetadataResolver getScopeMetadataResolver()
        Return the custom ScopeMetadataResolver for use with AnnotatedBeanDefinitionReader and/or ClassPathBeanDefinitionScanner, if any.
        返回:
        the scope metadata resolver
      • register

        public void register​(Class<?>... annotatedClasses)
        Register one or more annotated classes to be processed.

        Note that AbstractApplicationContext.refresh() must be called in order for the context to fully process the new classes.

        指定者:
        register 在接口中 org.springframework.context.annotation.AnnotationConfigRegistry
        参数:
        annotatedClasses - one or more annotated classes, e.g. @Configuration classes
        另请参阅:
        scan(String...), loadBeanDefinitions(DefaultListableBeanFactory), AbstractRefreshableConfigApplicationContext.setConfigLocation(String), AbstractApplicationContext.refresh()
      • scan

        public void scan​(String... basePackages)
        Perform a scan within the specified base packages.

        Note that AbstractApplicationContext.refresh() must be called in order for the context to fully process the new classes.

        指定者:
        scan 在接口中 org.springframework.context.annotation.AnnotationConfigRegistry
        参数:
        basePackages - the packages to check for annotated classes
        另请参阅:
        loadBeanDefinitions(DefaultListableBeanFactory), register(Class...), AbstractRefreshableConfigApplicationContext.setConfigLocation(String), AbstractApplicationContext.refresh()
      • loadBeanDefinitions

        protected void loadBeanDefinitions​(org.springframework.beans.factory.support.DefaultListableBeanFactory beanFactory)
        Register a BeanDefinition for any classes specified by register(Class...) and scan any packages specified by scan(String...).

        For any values specified by AbstractRefreshableConfigApplicationContext.setConfigLocation(String) or AbstractRefreshableConfigApplicationContext.setConfigLocations(String[]), attempt first to load each location as a class, registering a BeanDefinition if class loading is successful, and if class loading fails (i.e. a ClassNotFoundException is raised), assume the value is a package and attempt to scan it for annotated classes.

        Enables the default set of annotation configuration post processors, such that @Autowired, @Required, and associated annotations can be used.

        Configuration class bean definitions are registered with generated bean definition names unless the value attribute is provided to the stereotype annotation.

        指定者:
        loadBeanDefinitions 在类中 org.springframework.context.support.AbstractRefreshableApplicationContext
        参数:
        beanFactory - the bean factory to load bean definitions into
        另请参阅:
        register(Class...), scan(String...), AbstractRefreshableConfigApplicationContext.setConfigLocation(String), AbstractRefreshableConfigApplicationContext.setConfigLocations(String[]), AnnotatedBeanDefinitionReader, ClassPathBeanDefinitionScanner
      • getAnnotatedBeanDefinitionReader

        protected org.springframework.context.annotation.AnnotatedBeanDefinitionReader getAnnotatedBeanDefinitionReader​(org.springframework.beans.factory.support.DefaultListableBeanFactory beanFactory)
        Build an AnnotatedBeanDefinitionReader for the given bean factory.

        This should be pre-configured with the Environment (if desired) but not with a BeanNameGenerator or ScopeMetadataResolver yet.

        参数:
        beanFactory - the bean factory to load bean definitions into
        返回:
        the annotated bean definition reader
        另请参阅:
        AbstractApplicationContext.getEnvironment(), getBeanNameGenerator(), getScopeMetadataResolver()
      • getClassPathBeanDefinitionScanner

        protected org.springframework.context.annotation.ClassPathBeanDefinitionScanner getClassPathBeanDefinitionScanner​(org.springframework.beans.factory.support.DefaultListableBeanFactory beanFactory)
        Build a ClassPathBeanDefinitionScanner for the given bean factory.

        This should be pre-configured with the Environment (if desired) but not with a BeanNameGenerator or ScopeMetadataResolver yet.

        参数:
        beanFactory - the bean factory to load bean definitions into
        返回:
        the class path bean definition scanner
        另请参阅:
        AbstractApplicationContext.getEnvironment(), getBeanNameGenerator(), getScopeMetadataResolver()
      • getResourceByPath

        protected org.springframework.core.io.Resource getResourceByPath​(String path)
        覆盖:
        getResourceByPath 在类中 org.springframework.core.io.DefaultResourceLoader