Spring Bean とそれらの間の依存関係として構造化されたコードがあります。残りは「レガシー」コードであるため、これはコードのほんの一部です。
この時点で、拡張する既存の「レガシー」クラスでこれらの Bean の 1 つに対してアクションを実行したいと思いますjavax.servlet.ServletContextListener
。このクラスはアプリケーションを初期化し、そのコードは一度だけ呼び出されます。
私の最善の行動方針は何ですか?
ありがとう!
Spring Bean とそれらの間の依存関係として構造化されたコードがあります。残りは「レガシー」コードであるため、これはコードのほんの一部です。
この時点で、拡張する既存の「レガシー」クラスでこれらの Bean の 1 つに対してアクションを実行したいと思いますjavax.servlet.ServletContextListener
。このクラスはアプリケーションを初期化し、そのコードは一度だけ呼び出されます。
私の最善の行動方針は何ですか?
ありがとう!
SpringContextは次の方法で取得できます。
WebApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(servletContextEvent.getSevletContext())
次に、ctx.getBean( "name");を呼び出すことができます。(およびその他-WebApplicationContextのjavadocとその親を確認してください)
ServletContextListener
Bean はサーブレット コンテキストをリッスンしないため、Spring Bean を拡張しても意味がありません。アプリケーションとともに初期化および破棄される Bean を使用する場合、Spring でこれを行う方法は多数あります。ドキュメントのこの部分を参照してください。