はAutomobileDriver
クラス簡単な素人の言葉で、SpringでgetBeanは何をしますか?
getBean
は何をするんから継承IncreaseSpeed
クラスがあると仮定し、この
AutomobileDriver ad=(AutomobileDriver)appContext.getBean("increaseSpeed");
のようなコードの行を考えてみましょうか?これの主な機能は何ですか?
はAutomobileDriver
クラス簡単な素人の言葉で、SpringでgetBeanは何をしますか?
getBean
は何をするんから継承IncreaseSpeed
クラスがあると仮定し、この
AutomobileDriver ad=(AutomobileDriver)appContext.getBean("increaseSpeed");
のようなコードの行を考えてみましょうか?これの主な機能は何ですか?
:ID「のように(春で)識別され
これは、春には(おそらくXML設定ファイルの)オブジェクトのインスタンスを作成するように言われたことを想定していincreaseSpeedクラスまたは親クラスはAutomobileDriver
です。
デフォルト、以前に作成されたオブジェクト(これはシングルトンと呼ばれている)またはそのオブジェクト(プロトタイプ)の(b)の新しいインスタンスによって(A)を参照するためにSpringコンテキストを求めています。
Springでは、Beanを定義してidを付けることができます。通常、Springは依存性注入を使用してBeanにアクセスすることをお勧めします。しかし、SpringはidでBeanにアクセスする別の方法としてgetBean
を提供しています。
基本的に、コードはidが "increaseSpeed"のBeanのインスタンスを返します。
Beanは機能を提供するコンポーネントです。Beanの名前は、速度が向上することを示します。
これらのコンポーネントは、「アプリケーションコンテキスト」というコンテキストで登録され、名前で参照できます。だから、もしあなたがこれを行うことができる何かのためのあなたのアプリ - 文脈のスピードの見た目を増やしたいと思えば。
もっとtecnical:
http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/
このコードは、SpringアプリケーションコンテキストからincreaseSpeed
という名前のBeanを要求しています。アプリケーションコンテキストは、SpringのコンフィグレーションXMLからコンフィグレーションされた利用可能なオブジェクトのプールと考えることができます。アプリケーション・コンテキストが開始されると、構成内にBeanが作成されます。この呼び出しは、既に存在するものを要求します。アプリケーションコンテキストはこの「bean」をjava.lang.Object
として返します。したがって、適切な型にキャストする必要があります。
この呼び出しは、Springアプリケーションのエントリポイントとして表示される場合があります。この呼び出しは、アプリケーションコンテキストから最初のオブジェクトを取り出すために必要です。そこから、このオブジェクトはがSpringによって注入されたになっている他のオブジェクトへのリンクを持つことがあります。 「シンプルな普通の言葉」で
これは、実装が他の場所で決定されるため、これはまだ制御の逆です。より手作業ですが、概念的には同じです。 –
@DaveNewtonは、アプリケーションがIOCコンテナを認識しているため、あまりありません。古典的なIOCシナリオでは、Beanは依存関係がどこから来るかを知らない。 –
@SeanPatrickFloyd True。 –