クラス GenericWebApplicationContext

実装されているすべてのインターフェース:
CloseableSE, AutoCloseableSE, BeanFactory, HierarchicalBeanFactory, ListableBeanFactory, BeanDefinitionRegistry, ApplicationContext, ApplicationEventPublisher, ConfigurableApplicationContext, Lifecycle, MessageSource, AliasRegistry, EnvironmentCapable, ResourceLoader, ResourcePatternResolver, ConfigurableWebApplicationContext, WebApplicationContext

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

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

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

アノテーション付きコンポーネントクラスを 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