public class AnnotationConfigApplicationContext extends GenericApplicationContext implements AnnotationConfigRegistry
@Configuration
アノテーション付きクラスだけでなく、プレーン @Component
型および javax.inject
アノテーションを使用する JSR-330 準拠クラスも受け入れます。register(Class...)
を使用してクラスを 1 つずつ登録し、scan(String...)
を使用してクラスパスをスキャンできます。
複数の @Configuration
クラスの場合、後のクラスで定義された @Bean
メソッドは、前のクラスで定義されたメソッドをオーバーライドします。これを活用して、追加の @Configuration
クラスを介して特定の Bean 定義を意図的にオーバーライドできます。
使用例については、@Configuration
の javadoc を参照してください。
register(java.lang.Class<?>...)
, scan(java.lang.String...)
, AnnotatedBeanDefinitionReader
, ClassPathBeanDefinitionScanner
, GenericXmlApplicationContext
DefaultResourceLoader.ClassPathContextResource
APPLICATION_EVENT_MULTICASTER_BEAN_NAME, LIFECYCLE_PROCESSOR_BEAN_NAME, logger, MESSAGE_SOURCE_BEAN_NAME
APPLICATION_STARTUP_BEAN_NAME, CONFIG_LOCATION_DELIMITERS, CONVERSION_SERVICE_BEAN_NAME, ENVIRONMENT_BEAN_NAME, LOAD_TIME_WEAVER_BEAN_NAME, SHUTDOWN_HOOK_THREAD_NAME, SYSTEM_ENVIRONMENT_BEAN_NAME, SYSTEM_PROPERTIES_BEAN_NAME
FACTORY_BEAN_PREFIX
CLASSPATH_ALL_URL_PREFIX
CLASSPATH_URL_PREFIX
コンストラクターと説明 |
---|
AnnotationConfigApplicationContext() register(java.lang.Class<?>...) 呼び出しを介してデータを取り込み、手動でリフレッシュする必要がある新しい AnnotationConfigApplicationContext を作成します。 |
AnnotationConfigApplicationContext(ClassSE<?>... componentClasses) 新しい AnnotationConfigApplicationContext を作成し、指定されたコンポーネントクラスから Bean 定義を取得し、コンテキストを自動的にリフレッシュします。 |
AnnotationConfigApplicationContext(DefaultListableBeanFactory beanFactory) 指定された DefaultListableBeanFactory で新しい AnnotationConfigApplicationContext を作成します。 |
AnnotationConfigApplicationContext(StringSE... basePackages) 新しい AnnotationConfigApplicationContext を作成し、指定されたパッケージ内のコンポーネントをスキャンし、それらのコンポーネントの Bean 定義を登録し、コンテキストを自動的にリフレッシュします。 |
修飾子と型 | メソッドと説明 |
---|---|
void | register(ClassSE<?>... componentClasses) 処理する 1 つ以上のコンポーネントクラスを登録します。 |
<T> void | registerBean(StringSE beanName, ClassSE<T> beanClass, SupplierSE<T> supplier, BeanDefinitionCustomizer... customizers) 新しいインスタンス(通常はラムダ式またはメソッド参照として宣言される)を取得するために指定されたサプライヤーを使用して、指定された Bean クラスから Bean を登録し、オプションでその Bean 定義メタデータをカスタマイズします(再び通常ラムダ式として宣言される)。 |
void | scan(StringSE... basePackages) 指定された基本パッケージ内でスキャンを実行します。 |
void | setBeanNameGenerator(BeanNameGenerator beanNameGenerator) AnnotatedBeanDefinitionReader および / または ClassPathBeanDefinitionScanner で使用するカスタム BeanNameGenerator を提供します(ある場合)。 |
void | setEnvironment(ConfigurableEnvironment environment) 指定されたカスタム Environment を基になる AnnotatedBeanDefinitionReader および ClassPathBeanDefinitionScanner に伝播します。 |
void | setScopeMetadataResolver(ScopeMetadataResolver scopeMetadataResolver) 登録されたコンポーネントクラスに使用する ScopeMetadataResolver を設定します。 |
cancelRefresh, closeBeanFactory, getAutowireCapableBeanFactory, getBeanDefinition, getBeanFactory, getClassLoader, getDefaultListableBeanFactory, getResource, getResources, isAlias, isBeanNameInUse, refreshBeanFactory, registerAlias, registerBean, registerBean, registerBean, registerBean, registerBean, registerBeanDefinition, removeAlias, removeBeanDefinition, setAllowBeanDefinitionOverriding, setAllowCircularReferences, setApplicationStartup, setClassLoader, setParent, setResourceLoader
addApplicationListener, addBeanFactoryPostProcessor, assertBeanFactoryActive, close, containsBean, containsBeanDefinition, containsLocalBean, createEnvironment, destroy, destroyBeans, doClose, findAnnotationOnBean, findAnnotationOnBean, finishBeanFactoryInitialization, finishRefresh, getAliases, getApplicationListeners, getApplicationName, getApplicationStartup, getBean, getBean, getBean, getBean, getBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanFactoryPostProcessors, getBeanNamesForAnnotation, getBeanNamesForType, getBeanNamesForType, getBeanNamesForType, getBeanNamesForType, getBeanProvider, getBeanProvider, getBeanProvider, getBeanProvider, getBeansOfType, getBeansOfType, getBeansWithAnnotation, getDisplayName, getEnvironment, getId, getInternalParentBeanFactory, getInternalParentMessageSource, getMessage, getMessage, getMessage, getParent, getParentBeanFactory, getResourcePatternResolver, getStartupDate, getType, 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, setId, start, stop, toString
addProtocolResolver, clearResourceCaches, getProtocolResolvers, getResourceByPath, getResourceCache
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, waitSE, waitSE, waitSE
containsBeanDefinition, getBeanDefinitionCount, getBeanDefinitionNames
getAliases
addProtocolResolver
public AnnotationConfigApplicationContext()
register(java.lang.Class<?>...)
呼び出しを介してデータを取り込み、手動でリフレッシュする必要がある新しい AnnotationConfigApplicationContext を作成します。public AnnotationConfigApplicationContext(DefaultListableBeanFactory beanFactory)
beanFactory
- このコンテキストに使用する DefaultListableBeanFactory インスタンス public AnnotationConfigApplicationContext(ClassSE<?>... componentClasses)
componentClasses
- 1 つ以上のコンポーネントクラス — たとえば、@Configuration
クラス public AnnotationConfigApplicationContext(StringSE... basePackages)
basePackages
- コンポーネントクラスをスキャンするパッケージ public void setEnvironment(ConfigurableEnvironment environment)
Environment
を基になる AnnotatedBeanDefinitionReader
および ClassPathBeanDefinitionScanner
に伝播します。ConfigurableApplicationContext
の setEnvironment
AbstractApplicationContext
の setEnvironment
environment
- 新しい環境 AbstractApplicationContext.createEnvironment()
public void setBeanNameGenerator(BeanNameGenerator beanNameGenerator)
AnnotatedBeanDefinitionReader
および / または ClassPathBeanDefinitionScanner
で使用するカスタム BeanNameGenerator
を提供します(ある場合)。 デフォルトは AnnotationBeanNameGenerator
です。
このメソッドの呼び出しは、register(Class...)
および / または scan(String...)
の呼び出しの前に行う必要があります。
AnnotatedBeanDefinitionReader.setBeanNameGenerator(org.springframework.beans.factory.support.BeanNameGenerator)
, ClassPathBeanDefinitionScanner.setBeanNameGenerator(org.springframework.beans.factory.support.BeanNameGenerator)
, AnnotationBeanNameGenerator
, FullyQualifiedAnnotationBeanNameGenerator
public void setScopeMetadataResolver(ScopeMetadataResolver scopeMetadataResolver)
ScopeMetadataResolver
を設定します。 デフォルトは AnnotationScopeMetadataResolver
です。
このメソッドの呼び出しは、register(Class...)
および / または scan(String...)
の呼び出しの前に行う必要があります。
public void register(ClassSE<?>... componentClasses)
コンテキストで新しいクラスを完全に処理するには、AbstractApplicationContext.refresh()
を呼び出す必要があることに注意してください。
AnnotationConfigRegistry
の register
componentClasses
- 1 つ以上のコンポーネントクラス — たとえば、@Configuration
クラス scan(String...)
, AbstractApplicationContext.refresh()
public void scan(StringSE... basePackages)
コンテキストで新しいクラスを完全に処理するには、AbstractApplicationContext.refresh()
を呼び出す必要があることに注意してください。
AnnotationConfigRegistry
の scan
basePackages
- コンポーネントクラスをスキャンするパッケージ register(Class...)
, AbstractApplicationContext.refresh()
public <T> void registerBean(@Nullable StringSE beanName, ClassSE<T> beanClass, @Nullable SupplierSE<T> supplier, BeanDefinitionCustomizer... customizers)
GenericApplicationContext
このメソッドをオーバーライドして、すべての registerBean
メソッドに登録メカニズムを適合させることができます(これらはすべてこのメソッドに委譲されるため)。
GenericApplicationContext
の registerBean
beanName
- Bean の名前 (null
の場合があります)beanClass
- Bean のクラス supplier
- Bean のインスタンスを作成するためのコールバック (null
の場合、public コンストラクターを解決して代わりにオートワイヤーする)customizers
- ファクトリの BeanDefinition
をカスタマイズするための 1 つ以上のコールバック。lazy-init またはプライマリフラグの設定