public abstract class AbstractBeanDefinitionReader extends ObjectSE implements BeanDefinitionReader, EnvironmentCapable
BeanDefinitionReader
インターフェースを実装する Bean 定義リーダーの抽象基本クラス。作業する Bean ファクトリや Bean クラスのロードに使用するクラスローダーなどの一般的なプロパティを提供します。
BeanDefinitionReaderUtils
修飾子 | コンストラクターと説明 |
---|---|
protected | AbstractBeanDefinitionReader(BeanDefinitionRegistry registry) 指定された Bean ファクトリ用に新しい AbstractBeanDefinitionReader を作成します。 |
修飾子と型 | メソッドと説明 |
---|---|
ClassLoaderSE | getBeanClassLoader() Bean クラスに使用するクラスローダーを返します。 |
BeanDefinitionRegistry | getBeanFactory() 使用すべきではありません。 Spring Framework 5.3.15 以降、 getRegistry() が優先され、Spring Framework 6.0 で削除されます |
BeanNameGenerator | getBeanNameGenerator() 匿名 Bean に使用する BeanNameGenerator を返します(明示的な Bean 名は指定されていません)。 |
Environment | getEnvironment() このコンポーネントに関連付けられている Environment を返します。 |
BeanDefinitionRegistry | getRegistry() Bean 定義を登録する Bean ファクトリを返します。 |
ResourceLoader | getResourceLoader() リソースの場所に使用する ResourceLoader を返します。 |
int | loadBeanDefinitions(Resource... resources) 指定されたリソースから Bean 定義をロードします。 |
int | loadBeanDefinitions(StringSE... locations) 指定されたリソースの場所から Bean 定義をロードします。 |
int | loadBeanDefinitions(StringSE location) 指定されたリソースの場所から Bean 定義をロードします。 |
int | loadBeanDefinitions(StringSE location, SetSE<Resource> actualResources) 指定されたリソースの場所から Bean 定義をロードします。 |
void | setBeanClassLoader(ClassLoaderSE beanClassLoader) Bean クラスに使用する ClassLoader を設定します。 |
void | setBeanNameGenerator(BeanNameGenerator beanNameGenerator) 匿名 Bean に使用する BeanNameGenerator を設定します(明示的な Bean 名は指定されません)。 |
void | setEnvironment(Environment environment) Bean 定義を読み取るときに使用する環境を設定します。 |
void | setResourceLoader(ResourceLoader resourceLoader) リソースの場所に使用する ResourceLoader を設定します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
loadBeanDefinitions
protected final Log logger
protected AbstractBeanDefinitionReader(BeanDefinitionRegistry registry)
渡された Bean ファクトリが BeanDefinitionRegistry インターフェースだけでなく ResourceLoader インターフェースも実装する場合、デフォルトの ResourceLoader としても使用されます。これは通常、ApplicationContext
実装の場合です。
プレーンな BeanDefinitionRegistry を指定した場合、デフォルトの ResourceLoader は PathMatchingResourcePatternResolver
になります。
渡された Bean ファクトリも EnvironmentCapable
を実装している場合、その環境はこのリーダーによって使用されます。それ以外の場合、リーダーは StandardEnvironment
を初期化して使用します。すべての ApplicationContext 実装は EnvironmentCapable ですが、通常の BeanFactory 実装はそうではありません。
registry
- Bean 定義を BeanDefinitionRegistry の形式でロードする BeanFactorysetResourceLoader(org.springframework.core.io.ResourceLoader)
, setEnvironment(org.springframework.core.env.Environment)
@DeprecatedSE public final BeanDefinitionRegistry getBeanFactory()
getRegistry()
が推奨され、Spring Framework 6.0 で削除される予定です。ファクトリは BeanDefinitionRegistry インターフェースを介して公開され、Bean 定義の処理に関連するメソッドをカプセル化します。
public final BeanDefinitionRegistry getRegistry()
BeanDefinitionReader
ファクトリは BeanDefinitionRegistry
インターフェースを介して公開され、Bean 定義の処理に関連するメソッドをカプセル化します。
BeanDefinitionReader
の getRegistry
public void setResourceLoader(@Nullable ResourceLoader resourceLoader)
デフォルトは PathMatchingResourcePatternResolver で、ResourcePatternResolver インターフェースを介してリソースパターンを解決することもできます。
これを null
に設定すると、この Bean 定義リーダーでは絶対的なリソースの読み込みが利用できないことを示します。
@Nullable public ResourceLoader getResourceLoader()
BeanDefinitionReader
ResourceLoader
を返します。 特定のリソースパターンに対して複数のリソースをロードするために、ResourcePatternResolver
インターフェースをチェックし、それに応じてキャストできます。
null
の戻り値は、この Bean 定義リーダーでは絶対的なリソースの読み込みが利用できないことを示しています。
これは主に、たとえば XML Bean 定義の "import" タグを介して、Bean 定義リソース内からさらにリソースをインポートするために使用されることを目的としています。ただし、定義するリソースに関連してそのようなインポートを適用することをお勧めします。明示的な完全なリソースの場所のみが、絶対パスベースのリソースの読み込みをトリガーします。
リソースの場所(または場所のパターン)から Bean 定義をロードするために使用できる loadBeanDefinitions(String)
メソッドもあります。これは、明示的な ResourceLoader
処理を回避するのに便利です。
public void setBeanClassLoader(@Nullable ClassLoaderSE beanClassLoader)
デフォルトは null
です。これは、Bean クラスを先行してロードするのではなく、Bean 定義をクラス名で登録し、対応するクラスを後で解決する(または解決しない)ことを推奨します。
@Nullable public ClassLoaderSE getBeanClassLoader()
BeanDefinitionReader
null
は、Bean クラスを先行してロードするのではなく、Bean 定義をクラス名に登録し、対応するクラスを後で解決する(または決して解決しない)ことをお勧めします。
BeanDefinitionReader
の getBeanClassLoader
public void setEnvironment(Environment environment)
public Environment getEnvironment()
EnvironmentCapable
Environment
を返します。EnvironmentCapable
の getEnvironment
public void setBeanNameGenerator(@Nullable BeanNameGenerator beanNameGenerator)
デフォルトは DefaultBeanNameGenerator
です。
public BeanNameGenerator getBeanNameGenerator()
BeanDefinitionReader
BeanNameGenerator
を返します(明示的な Bean 名は指定されていません)。BeanDefinitionReader
の getBeanNameGenerator
public int loadBeanDefinitions(Resource... resources) throws BeanDefinitionStoreException
BeanDefinitionReader
BeanDefinitionReader
の loadBeanDefinitions
resources
- リソース記述子 BeanDefinitionStoreException
- ロードまたは解析エラーの場合 public int loadBeanDefinitions(StringSE location) throws BeanDefinitionStoreException
BeanDefinitionReader
この Bean 定義リーダーの ResourceLoader
が ResourcePatternResolver
である場合、ロケーションはロケーションパターンにすることもできます。
BeanDefinitionReader
の loadBeanDefinitions
location
- この Bean 定義リーダーの ResourceLoader
(または ResourcePatternResolver
)でロードされるリソースの場所 BeanDefinitionStoreException
- ロードまたは解析エラーの場合 BeanDefinitionReader.getResourceLoader()
, BeanDefinitionReader.loadBeanDefinitions(org.springframework.core.io.Resource)
, BeanDefinitionReader.loadBeanDefinitions(org.springframework.core.io.Resource[])
public int loadBeanDefinitions(StringSE location, @Nullable SetSE<Resource> actualResources) throws BeanDefinitionStoreException
この Bean 定義リーダーの ResourceLoader が ResourcePatternResolver である場合、ロケーションはロケーションパターンにすることもできます。
location
- この Bean 定義リーダーの ResourceLoader(または ResourcePatternResolver)とともにロードされるリソースの場所 actualResources
- ロードプロセス中に解決された実際の Resource オブジェクトで埋められるセット。呼び出し元がそれらの Resource オブジェクトに興味がないことを示す null
の場合があります。BeanDefinitionStoreException
- ロードまたは解析エラーの場合 getResourceLoader()
, BeanDefinitionReader.loadBeanDefinitions(org.springframework.core.io.Resource)
, loadBeanDefinitions(org.springframework.core.io.Resource[])
public int loadBeanDefinitions(StringSE... locations) throws BeanDefinitionStoreException
BeanDefinitionReader
BeanDefinitionReader
の loadBeanDefinitions
locations
- この Bean 定義リーダーの ResourceLoader
(または ResourcePatternResolver
)でロードされるリソースの場所 BeanDefinitionStoreException
- ロードまたは解析エラーの場合