public class ContextSingletonBeanFactoryLocator extends SingletonBeanFactoryLocator
SingletonBeanFactoryLocator のバリアントで、内部の Bean ファクトリ参照を、SingletonBeanFactoryLocator の単純な BeanFactory ではなく、ApplicationContext として作成します。ほとんどすべての使用シナリオでは、ApplicationContext または BeanFactory 内では、BeanFactory または ApplicationContext インスタンスを自由に定義できるため、これは違いを生じません。このクラスを使用する必要がある主な理由は、Bean 後処理 (または Bean 参照定義自体で他の ApplicationContext 固有の機能が必要な場合) です。
注意 : このクラスは、Bean ファクトリ参照定義ファイルのデフォルトのリソース場所としてクラスパス *:beanRefContext.xml を使用します。同時に SingletonBeanFactoryLocator と定義を共有することは不可能であり、違法です。
SingletonBeanFactoryLocator, DefaultLocatorFactorylogger| 修飾子 | コンストラクターと説明 |
|---|---|
protected | ContextSingletonBeanFactoryLocator(StringSE resourceLocation) 指定された名前を定義ファイルのリソース名として使用するコンストラクター。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
protected BeanFactory | createDefinition(StringSE resourceLocation, StringSE factoryKey) デフォルトのメソッドをオーバーライドして、定義オブジェクトをデフォルトの BeanFactory ではなく ApplicationContext として作成します。 |
protected void | destroyDefinition(BeanFactory groupDef, StringSE selector)ApplicationContext を操作するためのデフォルトのメソッドをオーバーライドし、 ConfigurableApplicationContext.close() を呼び出します。 |
static BeanFactoryLocator | getInstance() 定義ファイルの名前としてデフォルトの "classpath*:beanRefContext.xml" を使用するインスタンスを返します。 |
static BeanFactoryLocator | getInstance(StringSE selector) 指定されたセレクターを定義ファイルの名前として使用するインスタンスを返します。 |
protected void | initializeDefinition(BeanFactory groupDef)ApplicationContext をリフレッシュするためのデフォルトのメソッドをオーバーライドし、 ConfigurableApplicationContext.refresh() を呼び出します。 |
useBeanFactorycloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSEprotected ContextSingletonBeanFactoryLocator(StringSE resourceLocation)
resourceLocation - 使用する Spring リソースの場所 (URL または "classpath:" / "classpath*:" 疑似 URL)public static BeanFactoryLocator getInstance() throws BeansException
getResources メソッドによって返されるこの名前のすべてのリソースが結合され、BeanFactory である定義が作成されます。BeansException - 提供時の積み込み失敗の場合 public static BeanFactoryLocator getInstance(StringSE selector) throws BeansException
getResources メソッドがこの値で呼び出され、その名前を持つすべてのリソースが取得されます。その後、これらのリソースが結合されて定義が形成されます。名前に Spring "classpath:" プレフィックスが付いている場合、または標準の URL プレフィックスが付いている場合は、定義として 1 つのリソースファイルのみがロードされます。selector - BeanFactoryLocator インスタンスの定義を形成するために読み取られ、結合されるリソースの場所。このようなファイルはすべて、有効な ApplicationContext 定義を形成する必要があります。BeansException - 提供時の積み込み失敗の場合 protected BeanFactory createDefinition(StringSE resourceLocation, StringSE factoryKey)
デフォルトの実装では、単に ClassPathXmlApplicationContext が構築されます。
SingletonBeanFactoryLocator の createDefinition resourceLocation - このファクトリグループのリソースの場所 factoryKey - 取得するファクトリの Bean 名 protected void initializeDefinition(BeanFactory groupDef)
ConfigurableApplicationContext.refresh() を呼び出します。SingletonBeanFactoryLocator の initializeDefinition groupDef - createDefinition() によって返されたファクトリ protected void destroyDefinition(BeanFactory groupDef, StringSE selector)
ConfigurableApplicationContext.close() を呼び出します。SingletonBeanFactoryLocator の destroyDefinition groupDef - createDefinition() によって返されたファクトリ selector - このファクトリグループのリソースの場所