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(java.lang.Class<?>... annotatedClasses) 新しい AnnotationConfigApplicationContext を作成し、指定されたアノテーション付きクラスから Bean 定義を派生させ、コンテキストを自動的にリフレッシュします。 |
AnnotationConfigApplicationContext(DefaultListableBeanFactory beanFactory) 指定された DefaultListableBeanFactory で新しい AnnotationConfigApplicationContext を作成します。 |
AnnotationConfigApplicationContext(java.lang.String... basePackages) 新しい AnnotationConfigApplicationContext を作成し、指定されたパッケージの Bean 定義をスキャンして、コンテキストを自動的にリフレッシュします。 |
修飾子と型 | メソッドと説明 |
---|---|
void | register(java.lang.Class<?>... annotatedClasses) 処理する 1 つ以上のアノテーション付きクラスを登録します。 |
<T> void | registerBean(java.lang.Class<T> annotatedClass, java.lang.Object... constructorArguments) 指定された Bean クラスから Bean を登録し、クラス宣言されたアノテーションからそのメタデータを導出し、オプションで、オートワイヤープロセスでの検討のために明示的なコンストラクター引数を提供します。 |
<T> void | registerBean(java.lang.String beanName, java.lang.Class<T> annotatedClass, java.lang.Object... constructorArguments) 指定された Bean クラスから Bean を登録し、クラス宣言されたアノテーションからそのメタデータを導出し、オプションで、オートワイヤープロセスでの検討のために明示的なコンストラクター引数を提供します。 |
<T> void | registerBean(java.lang.String beanName, java.lang.Class<T> beanClass, java.util.function.Supplier<T> supplier, BeanDefinitionCustomizer... customizers) 新しいインスタンス(通常はラムダ式またはメソッド参照として宣言)を取得するために指定されたサプライヤーを使用して、指定された Bean クラスから Bean を登録し、オプションでその Bean 定義メタデータをカスタマイズします(これも通常、ラムダ式またはメソッド参照として宣言されます)。 |
void | scan(java.lang.String... basePackages) 指定された基本パッケージ内でスキャンを実行します。 |
void | setBeanNameGenerator(BeanNameGenerator beanNameGenerator) AnnotatedBeanDefinitionReader および / または ClassPathBeanDefinitionScanner で使用するカスタム BeanNameGenerator を提供します(ある場合)。 |
void | setEnvironment(ConfigurableEnvironment environment) 指定されたカスタム Environment を基になる AnnotatedBeanDefinitionReader および ClassPathBeanDefinitionScanner に伝播します。 |
void | setScopeMetadataResolver(ScopeMetadataResolver scopeMetadataResolver) 検出された Bean クラスに使用する ScopeMetadataResolver を設定します。 |
cancelRefresh, closeBeanFactory, getAutowireCapableBeanFactory, getBeanDefinition, getBeanFactory, getClassLoader, getDefaultListableBeanFactory, getResource, getResources, isAlias, isBeanNameInUse, refreshBeanFactory, registerAlias, registerBean, registerBean, registerBean, registerBeanDefinition, removeAlias, removeBeanDefinition, setAllowBeanDefinitionOverriding, setAllowCircularReferences, setClassLoader, 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, getBeanProvider, getBeanProvider, 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, prepareRefresh, publishEvent, publishEvent, publishEvent, refresh, registerBeanPostProcessors, registerListeners, registerShutdownHook, resetCommonCaches, setDisplayName, setId, start, stop, toString
addProtocolResolver, clearResourceCaches, getProtocolResolvers, getResourceByPath, getResourceCache
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
containsBeanDefinition, getBeanDefinitionCount, getBeanDefinitionNames
getAliases
addProtocolResolver
public AnnotationConfigApplicationContext()
register(java.lang.Class<?>...)
呼び出しを介してデータを取り込み、手動でリフレッシュする必要がある新しい AnnotationConfigApplicationContext を作成します。public AnnotationConfigApplicationContext(DefaultListableBeanFactory beanFactory)
beanFactory
- このコンテキストに使用する DefaultListableBeanFactory インスタンス public AnnotationConfigApplicationContext(java.lang.Class<?>... annotatedClasses)
annotatedClasses
- 1 つまたは複数のアノテーション付きクラス、たとえば @Configuration
クラス public AnnotationConfigApplicationContext(java.lang.String... 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...)
の呼び出しの前に行う必要があります。
public void setScopeMetadataResolver(ScopeMetadataResolver scopeMetadataResolver)
ScopeMetadataResolver
を設定します。 デフォルトは AnnotationScopeMetadataResolver
です。
このメソッドの呼び出しは、register(Class...)
および / または scan(String...)
の呼び出しの前に行う必要があります。
public void register(java.lang.Class<?>... annotatedClasses)
コンテキストで新しいクラスを完全に処理するには、AbstractApplicationContext.refresh()
を呼び出す必要があることに注意してください。
AnnotationConfigRegistry
の register
annotatedClasses
- 1 つまたは複数のアノテーション付きクラス、たとえば @Configuration
クラス scan(String...)
, AbstractApplicationContext.refresh()
public void scan(java.lang.String... basePackages)
コンテキストで新しいクラスを完全に処理するには、AbstractApplicationContext.refresh()
を呼び出す必要があることに注意してください。
AnnotationConfigRegistry
の scan
basePackages
- アノテーション付きクラスを確認するパッケージ register(Class...)
, AbstractApplicationContext.refresh()
public <T> void registerBean(java.lang.Class<T> annotatedClass, java.lang.Object... constructorArguments)
Bean 名は、アノテーション付きのコンポーネントルールに従って生成されます。
annotatedClass
- Bean のクラス constructorArguments
- Spring のコンストラクター解決アルゴリズムに入力される引数値。すべての引数または特定の引数のみを解決し、残りは通常のオートワイヤーによって解決されます。(null
または空の場合があります)public <T> void registerBean(@Nullable java.lang.String beanName, java.lang.Class<T> annotatedClass, java.lang.Object... constructorArguments)
beanName
- Bean の名前 (null
の場合があります)annotatedClass
- Bean のクラス constructorArguments
- Spring のコンストラクター解決アルゴリズムに入力される引数値。すべての引数または特定の引数のみを解決し、残りは通常のオートワイヤーによって解決されます。(null
または空の場合があります)public <T> void registerBean(@Nullable java.lang.String beanName, java.lang.Class<T> beanClass, @Nullable java.util.function.Supplier<T> supplier, BeanDefinitionCustomizer... customizers)
GenericApplicationContext
このメソッドをオーバーライドして、すべての registerBean
メソッドに登録メカニズムを適合させることができます(これらはすべてこのメソッドに委譲されるため)。
GenericApplicationContext
の registerBean
beanName
- Bean の名前 (null
の場合があります)beanClass
- Bean のクラス supplier
- Bean のインスタンスを作成するためのコールバック (null
の場合、public コンストラクターを解決して代わりにオートワイヤーする)customizers
- ファクトリの BeanDefinition
をカスタマイズするための 1 つ以上のコールバック。lazy-init またはプライマリフラグの設定