これで、外部呼び出し専用の静的メソッドを含むツール クラスができました。
これらの静的メソッドを呼び出す前に、デフォルトのパラメーターを設定するメソッドまたはコード ブロックが呼び出されるようにしたいと考えています。
これは静的コード ブロックの追加に似ていますが、静的コード ブロックは静的メソッドが呼び出されるたびに実行されるのではなく、クラスの初期化時に 1 回だけ実行されるため、私の要件を満たしていません。
基本的な解決策は、このツール クラスに静的メソッドを追加し、その中で必要な設定を行うことですが、この場合、他のすべての静的メソッドにこのメソッドを呼び出すステートメントを追加する必要があります。静的メソッドは既に 30 を超えており、今後もさらに増える予定なので、解決方法があるかどうかを怠惰に尋ねたいと思います。
えーっと。 。補足説明しますと、私のプロジェクトフレームワークはspring mvcをベースにしていますが、コメント欄のAOPを読んでBaiduにアクセスしたところ、要件を満たせる可能性があることが分かり、現在検討中です。
純粋な Java コードだけであれば、考えてもこのニーズを解決するのは難しいでしょう。
扔个三星炸死你2017-06-12 09:27:34
staticは使わないほうがいい
最初からシングルトンなら
初期化できる
静的はクラスのロード時に実行されるブロックを定義できますが、
一般的には適用されません、
滿天的星座2017-06-12 09:27:34
派生クラスを使用して実装することもできますが、面倒になるだけであり、主題の利便性と速度の目標を満たしていません。
さまざまなメソッドと比較して、各静的メソッドにコード行を追加する方が高速です。
質問をコピーして貼り付けるだけですぐに完了します。
三叔2017-06-12 09:27:34
メソッドのパラメータにコールバックを追加するだけです。たとえば、最初は次のように記述されました: public static void doSomeThing(Object args1)
現在は次のように記述されています