Spring IOCコンテナーのインターフェース設計
以下は、図のインターフェース関係の詳細な紹介です。
- インターフェースから
BeanFactory
にHierarchicalBeanFactory
して、ConfigurableBeanFactory
主要であるBeanFactory
設計・パス、パス内のこのインターフェイスのデザインは、BeanFactory
仕様書、基本的なIOCコンテナを定義しました。このインターフェース定義には、getBean()
そのようなIOCコンテナーの基本的なメソッドが含まれています。HierarchicalBeanFactory
インターフェースがインターフェースを継承した後、BeanFactory
追加されたgetParentBeanFactory()
インターフェースBeanFactory
機能は、親IOCコンテナーの管理機能を使用可能にします。次のConfigurableBeanFactory
インターフェースは、主に、いくつかのBeanFactory
構成機能を定義します。例えば、setParentBeanFactory()
親IOCコンテナーのaddBeanPostProcessor()
設定、Beanの後処理の設定など。これらのインターフェース設計の重ね合わせはBeanFactory
、単純なIOCコンテナーの基本機能を定義します。 - 以下からの第二のメインインターフェイスのデザイン
ApplicationContext
アプリケーションコンテキストは、コア・インタフェース・デザインとして、インターフェースデザインはから、ここに関与している、その後、我々は使用して、またはインターフェイス。私たちの一般的に使用されるアプリケーションコンテキストは、基本的にまたはの実現です。このインタフェースシステムでとに接続された接続インターフェース、インタフェース定義とインタフェース定義。では、多くのインターフェース洗練等の定義としてインターフェイス機能、の、インターフェイスメソッド、既に述べたように、両親IOC機能、向上させることであるインターフェイス、継承を通じて、、インタフェース、数を追加することで、単純なIOCコンテナの基礎を高度なコンテナ機能のサポート。BeanFactory
ListableBeanFactory
ApplicationContext
WebApplicationContext
ConfigurableApplicationContext
ConfigurableApplicationContext
WebApplicationContext
ListableBeanFactory
HierarchicalBeanFactory
BeanFactory
ApplicationContext
ListableBeanFactory
BeanFactory
String[] getBeanDefinitionNames()
HierarchicalBeanFactory
ApplicationContext
MessageSource
ResourceLoader
ApplicationEventPublisher
BeanFactory
- ここでの主なインターフェース関係と、特定のIOCコンテナはこのインターフェースシステムで実装されて
DefaultListableBeanFactory
おり、例えば、この基本的なIOCコンテナの実装が実現されConfigurableListableBeanFactory
、シンプルなIOCコンテナとなります。たとえばXmlBeanFactory
、他のIOCコンテナと同様に、これらはすべてDefaultListableBeanFactory
拡張機能に基づいており、同じことApplicationContext
が実装にも当てはまります。 - このシステムは、インターフェイスに基づいている
BeanFactory
とApplicationContext
コア。そして、BeanFactory
中にIOCのコンテナに最も基本的なインターフェイスでApplicationContext
設計、一方では、あなたはそれを継承していることがわかりますBeanFactory
システムにインターフェースをListableBeanFactory
、AutowrieCapableBeanFactory
、HierarchicalBeanFactory
、その他BeanFactory
とのインタフェースBeanFactory
IOCコンテナの基本的な機能;一方で、統合することによりMessageSource
、ResourceLoader
、ApplicationEventPublisher
これらのより高度なIOCコンテナー機能BeanFactory
をApplicationContext
提供するためのインターフェイス。ApplicationContext
Web環境で使用されるWebApplicationContext
インターフェースについても設計されています。
IOCコンテナーのコアリンク設計は次のとおりです。