クラス GenericWebApplicationContext

実装されたすべてのインターフェース:
CloseableSEAutoCloseableSEBeanFactoryHierarchicalBeanFactoryListableBeanFactoryBeanDefinitionRegistryApplicationContextApplicationEventPublisherConfigurableApplicationContextLifecycleMessageSourceAliasRegistryEnvironmentCapableResourceLoaderResourcePatternResolverThemeSourceConfigurableWebApplicationContextWebApplicationContext

public class GenericWebApplicationContext extends GenericApplicationContext implements ConfigurableWebApplicationContext, ThemeSource
Web 環境に適した GenericApplicationContext のサブクラス。

ConfigurableWebApplicationContext を実装しますが、web.xml での宣言的なセットアップを意図していません。代わりに、ネストされたコンテキストを構築したり、WebApplicationInitializers 内で使用したりするなど、プログラムによるセットアップ用に設計されています。

リソースパスをサーブレットコンテキストリソースとして、つまり Web アプリケーションルートのパスとして解釈します。絶対パス - たとえば、Web アプリのルート外のファイルの場合 - AbstractApplicationContext によって実装されているように、file: URL を介してアクセスできます。

AbstractApplicationContext によって検出された特別な Bean に加えて、このクラスはコンテキスト内で "themeSource" という名前の ThemeSource Bean を検出します。テーマのサポートは 6.0 以降非推奨となり、直接的な代替はありません。

アノテーション付きコンポーネントクラスを GenericWebApplicationContext に登録する場合は、次の例に示すように、AnnotatedBeanDefinitionReader を使用できます。コンポーネントクラスには、特に @Configuration クラスだけでなく、プレーンな @Component クラス、jakarta.inject アノテーションを使用する JSR-330 準拠のクラスも含まれます。

 GenericWebApplicationContext context = new GenericWebApplicationContext();
 AnnotatedBeanDefinitionReader reader = new AnnotatedBeanDefinitionReader(context);
 reader.register(AppConfig.class, UserController.class, UserRepository.class);

構成ファイルから Bean 定義を読み取る WebApplicationContext を実装する場合は、AbstractRefreshableWebApplicationContext から派生し、loadBeanDefinitions メソッドの実装で Bean 定義を読み取ることを検討してください。

導入:
1.2
作成者:
Juergen Hoeller, Chris Beams, Sam Brannen