0

5分でColdSpringを読み直しています。「UserServiceにはUserGatewayが必要であり、UserGatewayにはConfigBeanが必要です」と表示されます。いいえ、違います!UserServiceには何も必要ありません。UserGatewayを呼び出しません。

偶然にuserGatewayを呼び出す変数を設定するだけですが、UserGatewayコンポーネントは呼び出しません。

この一見単純なシナリオを理解するのを手伝ってください!

4

2 に答える 2

3

このスターターアプリケーションは、混乱を防ぐために意図的にすべてを説明しているわけではないことを覚えておく必要があります。完全に構成されると、サンプルアプリケーションは3つのコンポーネントすべてを初期化します。UserService CFCには、User Gatewayコンポーネントの設定と取得の責任があり、User Gatewayコンポーネントには、Config Beanコンポーネントの設定と取得の責任があり、Config Beanコンポーネントは、アプリケーション設定(この場合はデータソース情報)。

すべてがどのように機能するかを理解していなければ、今のところこれについてはあまり心配しません。ColdSpringのリファレンスガイドでは、すべてに焦点を当てています。

于 2009-05-25T13:10:02.793 に答える
0

「UserServiceにはUserGatewayが必要」という行は、関数の1つにUserGatewayを必要とする変数または呼び出しが含まれていることを意味しますが、必ずしもUserServiceにUserGatewayが本質的に必要であるとは限りません。これは、ColdSpringが行うことの中核です...依存関係を管理します。UserServiceがUserGatewayで注入されるように構成されていない場合、UserGatewayを呼び出すか必要とする変数が作成されると、手動でインスタンス化しない限り、必要なUserGatewayを見つけることができません。

たとえば、ColdSpringクイックスタートガイドの「FactoryBeans」の「MoreAdvanced」を参照してください。

5分間の例は、UserGatewayを必要とする関数での呼び出しが見られなかったという例ですが、必要な場合は、それが注入されて喜んでくれます。自分でやる必要はありません。

于 2009-06-02T17:38:48.367 に答える