1

Spring Boot を使用して、Spring DI を既存のアプリケーションに改造しようとしています。Spring の代わりに JSR-330 アノテーションを使用したい。プロトタイプ スコープをデフォルトにしたいので、JSR-330 以外のスコープ @Scope("prototype") をどこでも使用する必要はありません。最初に、次を使用して JSR330ScopeMetadataResolver をインストールしようとしました。

  SpringApplication application = new SpringApplication(OurApplication.class);
  ConfigurableApplicationContext context = application.createContext();
  context..setScopeMetadataResolver(new Jsr330ScopeMetadataResolver());
  application.run(args);

注釈なしでクラスを注入すると、まだシングルトンが取得されます。次に、ApplicationContextInitializer を使用して同じことを試みました。いずれにせよ、シングルトンが注入されます。デバッガーで、Jsr330ScopeMetadataResolver が ApplicationContext に設定されていることをイニシャライザーで確認しました。Jsr330ScopeMetadataResolver インスタンスでは、キー/値をシングルトンとしてデフォルト コンストラクターにマップが設定されていることがわかります。私は明らかに何かが欠けています。誰かそれが何であるか知っていますか?

4

1 に答える 1