インターフェース BeanRegistrar
- 関数インターフェース:
- これは関数インターフェースであるため、ラムダ式またはメソッド参照の割り当てターゲットとして使用できます。
プログラムで Bean を登録するための契約。通常は、
@Configuration
クラスの @Import
アノテーションを使用してインポートされます。@Configuration @Import(MyBeanRegistrar.class) class MyConfiguration { }
GenericApplicationContext.register(BeanRegistrar...)
を介してアプリケーションコンテキストに適用することもできます。Bean レジストラ実装では、BeanRegistry
および Environment
API を使用して、簡潔かつ柔軟な方法でプログラムによって Bean を登録します。
class MyBeanRegistrar implements BeanRegistrar { @Override public void register(BeanRegistry registry, Environment env) { registry.registerBean("foo", Foo.class); registry.registerBean("bar", Bar.class, spec -> spec .prototype() .lazyInit() .description("Custom description") .supplier(context -> new Bar(context.bean(Foo.class)))); if (env.matchesProfiles("baz")) { registry.registerBean(Baz.class, spec -> spec .supplier(context -> new Baz("Hello World!"))); } } }
ImportAware
を実装する BeanRegistrar
は、インポートシナリオで使用するときにオプションでインポートメタデータをイントロスペクトできます。それ以外の場合は、setImportMetadata
メソッドは呼び出されません。
Kotlin では、BeanRegistrar
を実装する代わりに BeanRegistrarDsl
を使用することをお勧めします。
- 導入:
- 7.0
- 作成者:
- Sebastien Deleuze
メソッドのサマリー
修飾子と型メソッド説明void
register
(BeanRegistry registry, Environment env) 指定されたBeanRegistry
にプログラム的に Bean を登録します。
メソッドの詳細
register
指定されたBeanRegistry
にプログラム的に Bean を登録します。- パラメーター:
registry
- Bean レジストリを操作するenv
- アクティブなプロファイルまたはいくつかのプロパティを取得するために使用できる環境