public class GenericGroovyApplicationContext extends GenericApplicationContext implements groovy.lang.GroovyObject
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 スクリプトとして解析されます。
GroovyBeanDefinitionReaderDefaultResourceLoader.ClassPathContextResourceAPPLICATION_EVENT_MULTICASTER_BEAN_NAME, LIFECYCLE_PROCESSOR_BEAN_NAME, logger, MESSAGE_SOURCE_BEAN_NAMECONFIG_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_NAMEFACTORY_BEAN_PREFIXCLASSPATH_ALL_URL_PREFIXCLASSPATH_URL_PREFIX| コンストラクターと説明 |
|---|
GenericGroovyApplicationContext() |
GenericGroovyApplicationContext(ClassSE<?> relativeClass, StringSE... resourceNames) 新しい GenericGroovyApplicationContext を作成し、指定されたリソースの場所から Bean 定義をロードして、コンテキストを自動的にリフレッシュします。 |
GenericGroovyApplicationContext(Resource... resources) 新しい GenericGroovyApplicationContext を作成し、指定されたリソースから Bean 定義をロードして、コンテキストを自動的にリフレッシュします。 |
GenericGroovyApplicationContext(StringSE... resourceLocations) 新しい GenericGroovyApplicationContext を作成し、指定されたリソースの場所から Bean 定義をロードして、コンテキストを自動的にリフレッシュします。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
groovy.lang.MetaClass | getMetaClass() |
ObjectSE | getProperty(StringSE property) |
GroovyBeanDefinitionReader | getReader() 基になる GroovyBeanDefinitionReader を公開して、その loadBeanDefinition メソッドへの便利なアクセスと、インライン Groovy Bean 定義クロージャを指定する機能を提供します。 |
ObjectSE | invokeMethod(StringSE name, ObjectSE args) |
void | load(ClassSE<?> relativeClass, StringSE... resourceNames) 指定された Groovy スクリプトまたは XML ファイルから Bean 定義をロードします。 |
void | load(Resource... resources) 指定された Groovy スクリプトまたは XML ファイルから Bean 定義をロードします。 |
void | load(StringSE... resourceLocations) 指定された Groovy スクリプトまたは XML ファイルから Bean 定義をロードします。 |
void | setEnvironment(ConfigurableEnvironment environment) 指定された環境を基礎となる GroovyBeanDefinitionReader に委譲します。 |
void | setMetaClass(groovy.lang.MetaClass metaClass) |
void | setProperty(StringSE property, ObjectSE newValue) |
cancelRefresh, closeBeanFactory, getAutowireCapableBeanFactory, getBeanDefinition, getBeanFactory, getClassLoader, getDefaultListableBeanFactory, getResource, getResources, isAlias, isBeanNameInUse, refreshBeanFactory, registerAlias, registerBean, registerBean, registerBean, registerBean, registerBean, registerBean, registerBeanDefinition, removeAlias, removeBeanDefinition, setAllowBeanDefinitionOverriding, setAllowCircularReferences, setClassLoader, setParent, setResourceLoaderaddApplicationListener, 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, getBeanNamesForType, 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, toStringaddProtocolResolver, clearResourceCaches, getProtocolResolvers, getResourceByPath, getResourceCachecloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, waitSE, waitSE, waitSEcontainsBeanDefinition, getBeanDefinitionCount, getBeanDefinitionNamesgetAliasesaddProtocolResolverpublic GenericGroovyApplicationContext()
public GenericGroovyApplicationContext(Resource... resources)
resources - ロードするリソース public GenericGroovyApplicationContext(StringSE... resourceLocations)
resourceLocations - ロードするリソース public GenericGroovyApplicationContext(ClassSE<?> relativeClass, StringSE... resourceNames)
relativeClass - 指定された各リソース名をロードするときにパッケージがプレフィックスとして使用されるクラス resourceNames - ロードするリソースの比較的修飾された名前 public final GroovyBeanDefinitionReader getReader()
GroovyBeanDefinitionReader を公開して、その loadBeanDefinition メソッドへの便利なアクセスと、インライン Groovy Bean 定義クロージャを指定する機能を提供します。public void setEnvironment(ConfigurableEnvironment environment)
GroovyBeanDefinitionReader に委譲します。#load を呼び出す前に呼び出す必要があります。ConfigurableApplicationContext 内の setEnvironment AbstractApplicationContext の setEnvironment environment - 新しい環境 AbstractApplicationContext.createEnvironment()public void load(Resource... resources)
".xml" ファイルは XML コンテンツとして解析されることに注意してください。他のすべての種類のリソースは、Groovy スクリプトとして解析されます。
resources - ロードする 1 つ以上のリソース public void load(StringSE... resourceLocations)
".xml" ファイルは XML コンテンツとして解析されることに注意してください。他のすべての種類のリソースは、Groovy スクリプトとして解析されます。
resourceLocations - ロード元の 1 つ以上のリソースの場所 public void load(ClassSE<?> relativeClass, StringSE... resourceNames)
".xml" ファイルは XML コンテンツとして解析されることに注意してください。他のすべての種類のリソースは、Groovy スクリプトとして解析されます。
relativeClass - 指定された各リソース名をロードするときにパッケージがプレフィックスとして使用されるクラス resourceNames - ロードするリソースの比較的修飾された名前 public void setMetaClass(groovy.lang.MetaClass metaClass)
groovy.lang.GroovyObject 内の setMetaClass public groovy.lang.MetaClass getMetaClass()
groovy.lang.GroovyObject 内の getMetaClass public ObjectSE invokeMethod(StringSE name, ObjectSE args)
groovy.lang.GroovyObject 内の invokeMethod public void setProperty(StringSE property, ObjectSE newValue)
groovy.lang.GroovyObject 内の setProperty