5

スタンドアロンのメイン アプリケーションがある場合。20クラスと言います。それらはすべて、Spring 構成 (ApplicationContext) によって定義された Bean といつでもインターフェースする必要がある場合があります。メイン アプリケーション エントリ ポイントでクラスパス アプリケーション コンテキストをブートストラップします。しかし、すでにインスタンス化された Bean をどのように再利用するのでしょうか?

たとえば、ClasspathApplicationContext をシングルトンとしてセットアップするのは悪いアプローチのように思えますが、それはアイデアです。

私は GlobalContextLocator などを見たことがあると思いましたが、その使用方法の例は見ませんでした。

4

1 に答える 1

4

それを行うにはいくつかの方法があります。あなたの最高のリファレンスはここにあります:

http://static.springframework.org/spring/docs/2.5.x/reference/beans.html#context-introduction

確認する必要がある特定のクラスは、SingletonBeanFactoryLocator と ContextSingletonBeanFactoryLocator です。

SingletonBeanFactoryLocator を使用する場合、以下を使用して Bean を検索できます。

BeanFactoryLocator bfl = SingletonBeanFactoryLocator.getInstance();
BeanFactoryReference bf = bfl.useBeanFactory("com.mycompany.myapp");
MyClass zed = bf.getFactory().getBean("mybean");

これについては、Javadocs に詳しく説明されています。

http://static.springframework.org/spring/docs/2.5.x/api/org/springframework/beans/factory/access/SingletonBeanFactoryLocator.html

また、明確にするために、構成ファイルがアプリケーションのクラスパスにあることを確認してください。そうでない場合、ルックアップは失敗します。

于 2009-04-01T23:25:05.603 に答える