クラス 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
インターフェース org.springframework.context.ConfigurableApplicationContext から継承されたフィールド
APPLICATION_STARTUP_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.MetaClass
getProperty
(StringSE property) 基になるGroovyBeanDefinitionReader
を公開して、そのloadBeanDefinition
メソッドへの便利なアクセスと、インライン Groovy Bean 定義クロージャを指定する機能を提供します。invokeMethod
(StringSE name, ObjectSE args) void
指定された Groovy スクリプトまたは XML ファイルから Bean 定義をロードします。void
指定された Groovy スクリプトまたは XML ファイルから Bean 定義をロードします。void
指定された Groovy スクリプトまたは XML ファイルから Bean 定義をロードします。void
setEnvironment
(ConfigurableEnvironment environment) 指定された環境を基礎となるGroovyBeanDefinitionReader
に委譲します。void
setMetaClass
(groovy.lang.MetaClass metaClass) void
setProperty
(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, 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, 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, clearResourceCaches, 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