では避けるべきであるなぜ私は春のドキュメントを通過し、あなたが、あなたの豆のインスタンスを取得するためにgetBeanを使用することができます getBean()は春アプリケーション
以下、文に出くわしました。 ApplicationContextインターフェイスには のBeanを取得するためのいくつかのメソッドがありますが、アプリケーションコードでは を使用しないことが理想的です。 実際には、アプリケーションコードには getBean()メソッドがすべてであるため、 のSpring APIには依存しません。たとえば、SpringのWebフレームワークとの統合では、 コントローラやJSF管理BeanなどのさまざまなWebフレームワークコンポーネントへの依存性注入が提供され、 注釈などのメタデータを使用して特定のBeanに依存性を宣言できます。私のアプリケーションで
REF- https://docs.spring.io/spring/docs/current/spring-framework-reference/core.html
、私はインターフェイスの適切な実施を注入し、それに基づいて、私のクライアントの方法にいくつかのパラメータを受け取ります。 私がやる方法は、これらのパラメータを連結した後にBean IDを検索することです。 たとえば、type=C
、subType=D
を受け取った場合、getBean(beanId)を呼び出してbean id=typeCsubTypeD
のBeanを取得します。 つまり、私の依存関係は実行時に決定されます。
は私がWhy is Spring's ApplicationContext.getBean considered bad?
通過した。しかし(また、その問題のコメントによって対処される)、これは私のユースケースをカバーしていません。
興味深い質問がありますか?コードを共有できますか?どのようにパラメータが入ってくるのですか? – Andrew
私のプロジェクトは別のアプリケーションでjarライブラリとして使用されます。そのアプリケーションはこのjarのメソッドを呼び出します。今度は、どのパラメータを渡すかに基づいて、Beanを選択して結果を生成する必要があります。 – Deb