9

Webアプリケーションの初期化を1回実行しようとしています。ApplicationListenerクラスにシングルトンが必要なので、スコープをシングルトンに設定しましたが、複数のインスタンスが作成されています。このBootStrapperは、他のxml構成ファイルでは定義されていません。デフォルトのスコープがシングルトンであることは知っていますが、シングルトンではなかったため、@ Scope( "singleton")を追加する必要がありました。このアノテーションを使用しても、複数のインスタンスが作成されます。これが私のApplicationListenerです。

@Component
@Scope("singleton")
public class BootStrapper implements ApplicationListener<ContextRefreshedEvent> {

私は何かが足りないのですか?

4

2 に答える 2

5

Bean の初期化後にコールバックを呼び出すには、 を使用します@PostConstruct

@Component
public class BootStrapper() {

     @PostConstruct
     public void doSomething() {
          System.out.println("I am initalized!");
     }
}
于 2013-03-07T12:24:31.810 に答える