Springフレームワークは、さまざまなアプリケーションシナリオとアプリケーションタイプに適応するために、さまざまなApplicationContext
インターフェイスの実装を提供します。以下は、主要な実装の区画です:
annotationConfigApplicationContext
最新の春のアプリケーションに非常に適しているため、これらのアプリケーションはXML構成を使用しません。 -
-
-
- classpathxmlapplicationcontext
クラスパスからXML構成ファイルにBean定義をロードします。
一般的に古いスプリングアプリケーションに使用されます。
filessystemxmlapplicationcontext
- に似ていますが、XML構成ファイルは、クラスパスの代わりにファイルシステムパスからロードされます。
xmlwebapplicationcontext
-
XML Beanで定義されたWebの特別な実装をロードします。
通常、従来のスプリングMVCアプリケーションに使用されます。
- web.xml構成またはサーブレットコンテキストと統合します。
ClassPathXmlApplicationContext
annotationconfigwebapplicationcontext
Java構成に基づくWebベースの実装の場合。
最新の春のMVCまたはスプリングブートWebアプリケーションで。
@controller、@restcontrolllerなどの注釈を介して、Web関連のBean関連のBeanを構成できます。
-
-
- genericApplicationContext 一般的なアプリケーションアプリケーションのコンテキストの柔軟な実装を提供します。
-
は、または
メソッドで動的に登録できます。
- 通常、実装をカスタマイズするためのベースクラスとして使用されます。
- genericwapplicontext
-
Web特異的バリアント。 -
Webアプリケーションでプログラミングして構成できます。
raciveBapplicationContext
-
Spring WebFluxによって構築された応答アプリケーション向けに設計されています。
非ブロッキングおよびイベント駆動型アーキテクチャをサポートします。
-
-
registerBean()
registerSingleton()
- staticApplicationContext テストまたは高速プロトタイプ設計のための簡単なプログラミング実装。
XMLまたは注釈なしでプログラミング方法でBeanを登録できます。 -
実際のアプリケーションではめったに使用されません。
-
GenericApplicationContext
configureAbleapplicationContext
-
独立して実装されていませんが、アプリケーションのコンテキストを構成できる拡張インターフェイス(たとえば、refresh()、close())です。
他のコンテキストによって実現されました(
など)。
一般的に使用されている実装
实现 |
使用场景 |
AnnotationConfigApplicationContext |
独立应用程序的基于Java的配置。 |
ClassPathXmlApplicationContext |
从类路径加载的XML配置。 |
AnnotationConfigWebApplicationContext |
Web应用程序的基于Java的配置。 |
XmlWebApplicationContext |
Web应用程序的XML配置。 |
GenericApplicationContext |
可编程的通用上下文。 |
いくつのタイプがありますか?
さまざまなバリエーションと異常な実装をカウントする場合、Springは 8-10の異なる実装
を提供します。ただし、実際には、最新のアプリケーションで広く使用されているのはごくわずかです(やなど)。 ApplicationContext
AnnotationConfigApplicationContext
以上がSpring-:ApplicationContextの実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。