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 スクリプトとして解析されます。
GroovyBeanDefinitionReader
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
コンストラクターと説明 |
---|
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, registerBeanDefinition, removeAlias, removeBeanDefinition, setAllowBeanDefinitionOverriding, setAllowCircularReferences, setClassLoader, setId, 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, 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, toString
addProtocolResolver, getProtocolResolvers, getResourceByPath
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, waitSE, waitSE, waitSE
containsBeanDefinition, getBeanDefinitionCount, getBeanDefinitionNames
getAliases
addProtocolResolver
public 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