クラス GenericGroovyApplicationContext
- 実装されているすべてのインターフェース:
groovy.lang.GroovyObject、CloseableSE、AutoCloseableSE、BeanFactory、HierarchicalBeanFactory、ListableBeanFactory、BeanDefinitionRegistry、ApplicationContext、ApplicationEventPublisher、ConfigurableApplicationContext、Lifecycle、MessageSource、AliasRegistry、EnvironmentCapable、ResourceLoader、ResourcePatternResolver
GenericApplicationContext を継承し、GroovyObject を実装する ApplicationContext 実装。AbstractApplicationContext.getBean(java.lang.String) を使用する代わりに、ドット参照解除構文で Bean を取得できます。 これは、Groovy Bean 定義の GenericXmlApplicationContext に相当するものと見なします。また、XML Bean 定義ファイルもシームレスに理解できるため、そのアップグレードと見なすこともできます。主な違いは、Groovy スクリプト内では、次のようにインライン Bean 定義クロージャーでコンテキストを使用できることです。
import org.hibernate.SessionFactory
import org.apache.commons.dbcp.BasicDataSource
def context = new GenericGroovyApplicationContext()
context.reader.beans {
dataSource(BasicDataSource) { // <--- invokeMethod
driverClassName = "org.hsqldb.jdbcDriver"
url = "jdbc:hsqldb:mem:grailsDB"
username = "sa" // <-- setProperty
password = ""
settings = [mynew:"setting"]
}
sessionFactory(SessionFactory) {
dataSource = dataSource // <-- getProperty for retrieving references
}
myService(MyService) {
nestedBean = { AnotherBean bean -> // <-- setProperty with closure for nested bean
dataSource = dataSource
}
}
}
context.refresh()
または、外部リソース (たとえば、"applicationContext.groovy" ファイル) から次のような Groovy Bean 定義スクリプトを読み込みます。
import org.hibernate.SessionFactory
import org.apache.commons.dbcp.BasicDataSource
beans {
dataSource(BasicDataSource) {
driverClassName = "org.hsqldb.jdbcDriver"
url = "jdbc:hsqldb:mem:grailsDB"
username = "sa"
password = ""
settings = [mynew:"setting"]
}
sessionFactory(SessionFactory) {
dataSource = dataSource
}
myService(MyService) {
nestedBean = { AnotherBean bean ->
dataSource = dataSource
}
}
}
次の Java コードで GenericGroovyApplicationContext を作成します(Ant スタイルの '*' /'**' ロケーションパターンを使用する可能性があります)。
GenericGroovyApplicationContext context = new GenericGroovyApplicationContext();
context.load("org/myapp/applicationContext.groovy");
context.refresh();
または、追加の構成が必要ない場合は、さらに簡潔にします。
ApplicationContext context = new GenericGroovyApplicationContext("org/myapp/applicationContext.groovy");
このアプリケーションコンテキストは、XML Bean 定義ファイルも理解し、Groovy Bean 定義ファイルとのシームレスなミキシングとマッチングを可能にします。".xml" ファイルは XML コンテンツとして解析されます。他のすべての種類のリソースは、Groovy スクリプトとして解析されます。
- 導入:
- 4.0
- 作成者:
- Juergen Hoeller, Jeff Brown
- 関連事項:
ネストされたクラスの要約
クラス 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コンストラクターの概要
コンストラクターコンストラクター説明GenericGroovyApplicationContext(ClassSE<?> relativeClass, StringSE... resourceNames) 新しい GenericGroovyApplicationContext を作成し、指定されたリソースの場所から Bean 定義をロードして、コンテキストを自動的にリフレッシュします。GenericGroovyApplicationContext(StringSE... resourceLocations) 新しい GenericGroovyApplicationContext を作成し、指定されたリソースの場所から Bean 定義をロードして、コンテキストを自動的にリフレッシュします。GenericGroovyApplicationContext(Resource... resources) 新しい GenericGroovyApplicationContext を作成し、指定されたリソースから Bean 定義をロードして、コンテキストを自動的にリフレッシュします。メソッドのサマリー
修飾子と型メソッド説明groovy.lang.MetaClassgetProperty(StringSE property) 基になるGroovyBeanDefinitionReaderを公開して、そのloadBeanDefinitionメソッドへの便利なアクセスと、インライン Groovy Bean 定義クロージャを指定する機能を提供します。invokeMethod(StringSE name, ObjectSE args) void指定された Groovy スクリプトまたは XML ファイルから Bean 定義をロードします。void指定された Groovy スクリプトまたは XML ファイルから Bean 定義をロードします。void指定された Groovy スクリプトまたは XML ファイルから Bean 定義をロードします。voidsetEnvironment(ConfigurableEnvironment environment) 指定された環境を基礎となるGroovyBeanDefinitionReaderに委譲します。voidsetMetaClass(groovy.lang.MetaClass metaClass) voidsetProperty(StringSE property, ObjectSE newValue) クラス 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, 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
コンストラクターの詳細
GenericGroovyApplicationContext
public GenericGroovyApplicationContext()GenericGroovyApplicationContext
新しい GenericGroovyApplicationContext を作成し、指定されたリソースから Bean 定義をロードして、コンテキストを自動的にリフレッシュします。- パラメーター:
resources- ロードするリソース
GenericGroovyApplicationContext
新しい GenericGroovyApplicationContext を作成し、指定されたリソースの場所から Bean 定義をロードして、コンテキストを自動的にリフレッシュします。- パラメーター:
resourceLocations- ロードするリソース
GenericGroovyApplicationContext
新しい GenericGroovyApplicationContext を作成し、指定されたリソースの場所から Bean 定義をロードして、コンテキストを自動的にリフレッシュします。- パラメーター:
relativeClass- 指定された各リソース名をロードするときにパッケージがプレフィックスとして使用されるクラスresourceNames- ロードするリソースの比較的修飾された名前
メソッドの詳細
getReader
基になるGroovyBeanDefinitionReaderを公開して、そのloadBeanDefinitionメソッドへの便利なアクセスと、インライン Groovy Bean 定義クロージャを指定する機能を提供します。setEnvironment
指定された環境を基礎となるGroovyBeanDefinitionReaderに委譲します。#loadを呼び出す前に呼び出す必要があります。- 次で指定:
- インターフェース
ConfigurableApplicationContextのsetEnvironment - オーバーライド:
- クラス
AbstractApplicationContextのsetEnvironment - パラメーター:
environment- 新しい環境- 関連事項:
load
指定された Groovy スクリプトまたは XML ファイルから Bean 定義をロードします。".xml" ファイルは XML コンテンツとして解析されることに注意してください。他のすべての種類のリソースは、Groovy スクリプトとして解析されます。
- パラメーター:
resources- ロードする 1 つ以上のリソース
load
指定された Groovy スクリプトまたは XML ファイルから Bean 定義をロードします。".xml" ファイルは XML コンテンツとして解析されることに注意してください。他のすべての種類のリソースは、Groovy スクリプトとして解析されます。
- パラメーター:
resourceLocations- ロード元の 1 つ以上のリソースの場所
load
指定された Groovy スクリプトまたは XML ファイルから Bean 定義をロードします。".xml" ファイルは XML コンテンツとして解析されることに注意してください。他のすべての種類のリソースは、Groovy スクリプトとして解析されます。
- パラメーター:
relativeClass- 指定された各リソース名をロードするときにパッケージがプレフィックスとして使用されるクラスresourceNames- ロードするリソースの比較的修飾された名前
setMetaClass
public void setMetaClass(groovy.lang.MetaClass metaClass) - 次で指定:
- インターフェース
groovy.lang.GroovyObjectのsetMetaClass
getMetaClass
public groovy.lang.MetaClass getMetaClass()- 次で指定:
- インターフェース
groovy.lang.GroovyObjectのgetMetaClass
invokeMethod
- 次で指定:
- インターフェース
groovy.lang.GroovyObjectのinvokeMethod
setProperty
- 次で指定:
- インターフェース
groovy.lang.GroovyObjectのsetProperty
getProperty
- 次で指定:
- インターフェース
groovy.lang.GroovyObjectのgetProperty