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, 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, registerBeanDefinition, removeAlias, removeBeanDefinition, setAllowBeanDefinitionOverriding, setAllowCircularReferences, setClassLoader, setId, 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, 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, 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