3

EclipseJunoIDEを使用しています。

私はJavaアプリケーションを持っています。

プログラムには、次のクラスがあります。Team.java Player.javaこれで、ユーザーがチームに新しいプレーヤーを追加できるようになりました。ユーザーはプレーヤーデータを提供してくれます。プレーヤーごとにログファイルがあります。

プレーヤーがチームに追加されると、「プレーヤーがチームに追加されました」というイベントが発生します。このイベントをログに記録し、発生した内容をプレーヤーのログファイルに書き込みます。

SpringAOPでこれらのロギングの問題を処理したいと思います。では、どのようにそれを行うことができますか?

私が見たすべての例は、applicationContext.xmlファイルで使用しています。プレーヤーが動的に作成されている場合、このファイルに何を書き込む必要がありますか?

4

1 に答える 1

2

いくつかのチュートリアルでは、値オブジェクト間の依存関係を定義するために Spring が使用されていると信じ込ませますが、 Bean はとHouseBean に依存するなどです。 - 典型的な Spring アプリケーションはそのように構築されていません。Bean は通常、ステートレスなシングルトン サービスを一度だけ宣言するために使用されます。ブートストラップの後、動的なものはあまりありません。DoorHeating

ただし、例ではSpringを使用できます。プレーヤーをプロトタイプ、遅延初期化 Bean として定義するだけです。

<bean class="Player" scope="prototype" lazy-init="true"/>

そして、新しい が必要になるたびPlayerに、コンテナに要求してください:

applicationContext.getBean(Player.class);

返された Bean は、Spring がコールバックを呼び出さないことを除いて、完全に機能する Spring Bean になり@PreDestroyます。しかし、AOP は動作します。

于 2012-08-31T16:55:16.260 に答える