クラス AnnotationConfigApplicationContext
java.lang.ObjectSE
org.springframework.core.io.DefaultResourceLoader
org.springframework.context.support.AbstractApplicationContext
org.springframework.context.support.GenericApplicationContext
org.springframework.context.annotation.AnnotationConfigApplicationContext
- 実装されているすべてのインターフェース:
CloseableSE、AutoCloseableSE、BeanFactory、HierarchicalBeanFactory、ListableBeanFactory、BeanDefinitionRegistry、AnnotationConfigRegistry、ApplicationContext、ApplicationEventPublisher、ConfigurableApplicationContext、Lifecycle、MessageSource、AliasRegistry、EnvironmentCapable、ResourceLoader、ResourcePatternResolver
public class AnnotationConfigApplicationContext
extends GenericApplicationContext
implements AnnotationConfigRegistry
コンポーネントクラスを入力として受け入れるスタンドアロンアプリケーションコンテキスト— 特に
@Configuration アノテーション付きクラスだけでなく、プレーン @Component 型および jakarta.inject アノテーションを使用する JSR-330 準拠クラスも受け入れます。register(Class...) を使用してクラスを 1 つずつ登録し、scan(String...) を使用してクラスパスをスキャンできます。
複数の @Configuration クラスの場合、後のクラスで定義された @Bean メソッドは、前のクラスで定義されたメソッドをオーバーライドします。これを活用して、追加の @Configuration クラスを介して特定の Bean 定義を意図的にオーバーライドできます。
使用例については、@Configuration の javadoc を参照してください。
- 導入:
- 3.0
- 作成者:
- Juergen Hoeller, Chris Beams
- 関連事項:
ネストされたクラスの要約
クラス org.springframework.core.io.DefaultResourceLoader から継承されたネストクラス / インターフェース
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, FACTORY_BEAN_PREFIX_CHARインターフェース org.springframework.context.ConfigurableApplicationContext から継承されたフィールド
APPLICATION_STARTUP_BEAN_NAME, BOOTSTRAP_EXECUTOR_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インターフェース org.springframework.core.io.ResourceLoader から継承されたフィールド
CLASSPATH_URL_PREFIXインターフェース org.springframework.core.io.support.ResourcePatternResolver から継承されたフィールド
CLASSPATH_ALL_URL_PREFIXコンストラクターの概要
コンストラクターコンストラクター説明register(java.lang.Class<?>...)呼び出しを介してデータを取り込み、手動でリフレッシュする必要がある新しい AnnotationConfigApplicationContext を作成します。AnnotationConfigApplicationContext(ClassSE<?>... componentClasses) 新しい AnnotationConfigApplicationContext を作成し、指定されたコンポーネントクラスから Bean 定義を取得し、コンテキストを自動的にリフレッシュします。AnnotationConfigApplicationContext(StringSE... basePackages) 新しい AnnotationConfigApplicationContext を作成し、指定されたパッケージ内のコンポーネントをスキャンし、それらのコンポーネントの Bean 定義を登録し、コンテキストを自動的にリフレッシュします。指定された DefaultListableBeanFactory で新しい AnnotationConfigApplicationContext を作成します。メソッドのサマリー
修飾子と型メソッド説明void処理する 1 つ以上のコンポーネントクラスを登録します。<T> voidregisterBean(StringSE beanName, ClassSE<T> beanClass, SupplierSE<T> supplier, BeanDefinitionCustomizer... customizers) 新しいインスタンス(通常はラムダ式またはメソッド参照として宣言される)を取得するために指定されたサプライヤーを使用して、指定された Bean クラスから Bean を登録し、オプションでその Bean 定義メタデータをカスタマイズします(再び通常ラムダ式として宣言される)。void指定された基本パッケージ内でスキャンを実行します。voidsetBeanNameGenerator(BeanNameGenerator beanNameGenerator) AnnotatedBeanDefinitionReaderおよび / またはClassPathBeanDefinitionScannerで使用するカスタムBeanNameGeneratorを提供します(ある場合)。voidsetEnvironment(ConfigurableEnvironment environment) 指定されたカスタムEnvironmentを基になるAnnotatedBeanDefinitionReaderおよびClassPathBeanDefinitionScannerに伝播します。voidsetScopeMetadataResolver(ScopeMetadataResolver scopeMetadataResolver) 登録されたコンポーネントクラスに使用するScopeMetadataResolverを設定します。クラス org.springframework.context.support.GenericApplicationContext から継承されたメソッド
cancelRefresh, closeBeanFactory, getAutowireCapableBeanFactory, getBeanDefinition, getBeanFactory, getClassLoader, getDefaultListableBeanFactory, getResource, getResources, isAlias, isBeanDefinitionOverridable, isBeanNameInUse, refreshBeanFactory, refreshForAotProcessing, registerAlias, registerBean, registerBean, registerBean, registerBean, registerBean, registerBeanDefinition, removeAlias, removeBeanDefinition, setAllowBeanDefinitionOverriding, setAllowCircularReferences, setApplicationStartup, setClassLoader, setParent, setResourceLoaderクラス org.springframework.context.support.AbstractApplicationContext から継承されたメソッド
addApplicationListener, addBeanFactoryPostProcessor, assertBeanFactoryActive, clearResourceCaches, close, containsBean, containsBeanDefinition, containsLocalBean, createEnvironment, destroyBeans, doClose, findAllAnnotationsOnBean, 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, isClosed, isPrototype, isRunning, isSingleton, isTypeMatch, isTypeMatch, obtainFreshBeanFactory, onClose, onRefresh, postProcessBeanFactory, prepareBeanFactory, prepareRefresh, publishEvent, publishEvent, publishEvent, refresh, registerBeanPostProcessors, registerListeners, registerShutdownHook, removeApplicationListener, resetCommonCaches, setDisplayName, setId, start, stop, toStringクラス org.springframework.core.io.DefaultResourceLoader から継承されたメソッド
addProtocolResolver, getProtocolResolvers, getResourceByPath, getResourceCacheクラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, wait, waitSE, waitSEインターフェース org.springframework.core.AliasRegistry から継承されたメソッド
getAliasesインターフェース org.springframework.beans.factory.support.BeanDefinitionRegistry から継承されたメソッド
containsBeanDefinition, getBeanDefinitionCount, getBeanDefinitionNamesインターフェース org.springframework.context.ConfigurableApplicationContext から継承されたメソッド
addProtocolResolver
コンストラクターの詳細
AnnotationConfigApplicationContext
public AnnotationConfigApplicationContext()register(java.lang.Class<?>...)呼び出しを介してデータを取り込み、手動でリフレッシュする必要がある新しい AnnotationConfigApplicationContext を作成します。AnnotationConfigApplicationContext
指定された DefaultListableBeanFactory で新しい AnnotationConfigApplicationContext を作成します。- パラメーター:
beanFactory- このコンテキストに使用する DefaultListableBeanFactory インスタンス
AnnotationConfigApplicationContext
新しい AnnotationConfigApplicationContext を作成し、指定されたコンポーネントクラスから Bean 定義を取得し、コンテキストを自動的にリフレッシュします。- パラメーター:
componentClasses- 1 つ以上のコンポーネントクラス — たとえば、@Configurationクラス
AnnotationConfigApplicationContext
新しい AnnotationConfigApplicationContext を作成し、指定されたパッケージ内のコンポーネントをスキャンし、それらのコンポーネントの Bean 定義を登録し、コンテキストを自動的にリフレッシュします。- パラメーター:
basePackages- コンポーネントクラスをスキャンするパッケージ
メソッドの詳細
setEnvironment
指定されたカスタムEnvironmentを基になるAnnotatedBeanDefinitionReaderおよびClassPathBeanDefinitionScannerに伝播します。- 次で指定:
- インターフェース
ConfigurableApplicationContextのsetEnvironment - オーバーライド:
- クラス
AbstractApplicationContextのsetEnvironment - パラメーター:
environment- 新しい環境- 関連事項:
setBeanNameGenerator
AnnotatedBeanDefinitionReaderおよび / またはClassPathBeanDefinitionScannerで使用するカスタムBeanNameGeneratorを提供します(ある場合)。デフォルトは
AnnotationBeanNameGeneratorです。このメソッドの呼び出しは、
register(Class...)および / またはscan(String...)の呼び出しの前に行う必要があります。setScopeMetadataResolver
登録されたコンポーネントクラスに使用するScopeMetadataResolverを設定します。デフォルトは
AnnotationScopeMetadataResolverです。このメソッドの呼び出しは、
register(Class...)および / またはscan(String...)の呼び出しの前に行う必要があります。register
処理する 1 つ以上のコンポーネントクラスを登録します。コンテキストで新しいクラスを完全に処理するには、
AbstractApplicationContext.refresh()を呼び出す必要があることに注意してください。- 次で指定:
- インターフェース
AnnotationConfigRegistryのregister - パラメーター:
componentClasses- 1 つ以上のコンポーネントクラス — たとえば、@Configurationクラス- 関連事項:
scan
指定された基本パッケージ内でスキャンを実行します。コンテキストで新しいクラスを完全に処理するには、
AbstractApplicationContext.refresh()を呼び出す必要があることに注意してください。- 次で指定:
- インターフェース
AnnotationConfigRegistryのscan - パラメーター:
basePackages- コンポーネントクラスをスキャンするパッケージ- 関連事項:
registerBean
public <T> void registerBean(@Nullable StringSE beanName, ClassSE<T> beanClass, @Nullable SupplierSE<T> supplier, BeanDefinitionCustomizer... customizers) クラスからコピーされた説明:GenericApplicationContext新しいインスタンス(通常はラムダ式またはメソッド参照として宣言される)を取得するために指定されたサプライヤーを使用して、指定された Bean クラスから Bean を登録し、オプションでその Bean 定義メタデータをカスタマイズします(再び通常ラムダ式として宣言される)。このメソッドをオーバーライドして、すべての
registerBeanメソッドに登録メカニズムを適合させることができます(これらはすべてこのメソッドに委譲されるため)。- オーバーライド:
- クラス
GenericApplicationContextのregisterBean - パラメーター:
beanName- Bean の名前 (nullの場合があります)beanClass- Bean のクラスsupplier- Bean のインスタンスを作成するためのコールバック (nullの場合、public コンストラクターを解決して代わりにオートワイヤーする)customizers- ファクトリのBeanDefinitionをカスタマイズするための 1 つ以上のコールバック (例: lazy-init または primary フラグの設定)