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
CONFIG_LOCATION_DELIMITERS, CONVERSION_SERVICE_BEAN_NAME, ENVIRONMENT_BEAN_NAME, LOAD_TIME_WEAVER_BEAN_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<?>... annotatedClasses) 新しい AnnotationConfigApplicationContext を作成し、指定されたアノテーション付きクラスから Bean 定義を派生させ、コンテキストを自動的にリフレッシュします。 |
AnnotationConfigApplicationContext(DefaultListableBeanFactory beanFactory) 指定された DefaultListableBeanFactory で新しい AnnotationConfigApplicationContext を作成します。 |
AnnotationConfigApplicationContext(StringSE... basePackages) 新しい AnnotationConfigApplicationContext を作成し、指定されたパッケージの Bean 定義をスキャンして、コンテキストを自動的にリフレッシュします。 |
修飾子と型 | メソッドと説明 |
---|---|
protected void | prepareRefresh() このコンテキストをリフレッシュして、起動日とアクティブフラグを設定し、プロパティソースの初期化を実行する準備をします。 |
void | register(ClassSE<?>... annotatedClasses) 処理する 1 つ以上のアノテーション付きクラスを登録します。 |
void | scan(StringSE... basePackages) 指定された基本パッケージ内でスキャンを実行します。 |
void | setBeanNameGenerator(BeanNameGenerator beanNameGenerator) AnnotatedBeanDefinitionReader および / または ClassPathBeanDefinitionScanner で使用するカスタム BeanNameGenerator を提供します(ある場合)。 |
void | setEnvironment(ConfigurableEnvironment environment) このアプリケーションコンテキストの Environment を設定します。 |
void | setScopeMetadataResolver(ScopeMetadataResolver scopeMetadataResolver) 検出された Bean クラスに使用する ScopeMetadataResolver を設定します。 |
cancelRefresh, closeBeanFactory, getAutowireCapableBeanFactory, getBeanDefinition, getBeanFactory, getClassLoader, getDefaultListableBeanFactory, getResource, getResources, isAlias, isBeanNameInUse, refreshBeanFactory, registerAlias, registerBeanDefinition, removeAlias, removeBeanDefinition, setAllowBeanDefinitionOverriding, setAllowCircularReferences, setClassLoader, setId, setParent, setResourceLoader
addApplicationListener, addBeanFactoryPostProcessor, assertBeanFactoryActive, close, containsBean, containsBeanDefinition, containsLocalBean, createEnvironment, destroy, destroyBeans, doClose, findAnnotationOnBean, finishBeanFactoryInitialization, finishRefresh, getAliases, getApplicationListeners, getApplicationName, getBean, getBean, getBean, getBean, getBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanFactoryPostProcessors, getBeanNamesForAnnotation, getBeanNamesForType, getBeanNamesForType, getBeanNamesForType, getBeansOfType, getBeansOfType, getBeansWithAnnotation, getDisplayName, getEnvironment, getId, getInternalParentBeanFactory, getInternalParentMessageSource, getMessage, getMessage, getMessage, getParent, getParentBeanFactory, getResourcePatternResolver, getStartupDate, getType, initApplicationEventMulticaster, initLifecycleProcessor, initMessageSource, initPropertySources, invokeBeanFactoryPostProcessors, isActive, isPrototype, isRunning, isSingleton, isTypeMatch, isTypeMatch, obtainFreshBeanFactory, onClose, onRefresh, postProcessBeanFactory, prepareBeanFactory, publishEvent, publishEvent, publishEvent, refresh, registerBeanPostProcessors, registerListeners, registerShutdownHook, resetCommonCaches, setDisplayName, start, stop, toString
addProtocolResolver, getProtocolResolvers, getResourceByPath
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<?>... annotatedClasses)
annotatedClasses
- 1 つまたは複数のアノテーション付きクラス、たとえば @Configuration
クラス public AnnotationConfigApplicationContext(StringSE... basePackages)
basePackages
- アノテーション付きクラスを確認するパッケージ public void setEnvironment(ConfigurableEnvironment environment)
Environment
を設定します。 デフォルト値は AbstractApplicationContext.createEnvironment()
によって決定されます。この方法でデフォルトを置き換えることは 1 つのオプションですが、AbstractApplicationContext.getEnvironment()
による構成も検討する必要があります。どちらの場合も、そのような変更は AbstractApplicationContext.refresh()
の前に実行する必要があります。
指定された環境を、基礎となる AnnotatedBeanDefinitionReader
および ClassPathBeanDefinitionScanner
メンバーに委譲します。
ConfigurableApplicationContext
の setEnvironment
AbstractApplicationContext
の setEnvironment
environment
- 新しい環境 AbstractApplicationContext.createEnvironment()
public void setBeanNameGenerator(BeanNameGenerator beanNameGenerator)
AnnotatedBeanDefinitionReader
および / または ClassPathBeanDefinitionScanner
で使用するカスタム BeanNameGenerator
を提供します(ある場合)。 デフォルトは AnnotationBeanNameGenerator
です。
このメソッドの呼び出しは、register(Class...)
および / または scan(String...)
の呼び出しの前に行う必要があります。
public void setScopeMetadataResolver(ScopeMetadataResolver scopeMetadataResolver)
ScopeMetadataResolver
を設定します。 デフォルトは AnnotationScopeMetadataResolver
です。
このメソッドの呼び出しは、register(Class...)
および / または scan(String...)
の呼び出しの前に行う必要があります。
protected void prepareRefresh()
AbstractApplicationContext
AbstractApplicationContext
の prepareRefresh
public void register(ClassSE<?>... annotatedClasses)
コンテキストで新しいクラスを完全に処理するには、AbstractApplicationContext.refresh()
を呼び出す必要があることに注意してください。
AnnotationConfigRegistry
の register
annotatedClasses
- 1 つまたは複数のアノテーション付きクラス、たとえば @Configuration
クラス scan(String...)
, AbstractApplicationContext.refresh()
public void scan(StringSE... basePackages)
コンテキストで新しいクラスを完全に処理するには、AbstractApplicationContext.refresh()
を呼び出す必要があることに注意してください。
AnnotationConfigRegistry
の scan
basePackages
- アノテーション付きクラスを確認するパッケージ register(Class...)
, AbstractApplicationContext.refresh()