検索

ホームページ  >  に質問  >  本文

java - 静的メソッドを呼び出す前にデフォルトでコードを呼び出す方法は?

これで、外部呼び出し専用の静的メソッドを含むツール クラスができました。
これらの静的メソッドを呼び出す前に、デフォルトのパラメーターを設定するメソッドまたはコード ブロックが呼び出されるようにしたいと考えています。
これは静的コード ブロックの追加に似ていますが、静的コード ブロックは静的メソッドが呼び出されるたびに実行されるのではなく、クラスの初期化時に 1 回だけ実行されるため、私の要件を満たしていません。

基本的な解決策は、このツール クラスに静的メソッドを追加し、その中で必要な設定を行うことですが、この場合、他のすべての静的メソッドにこのメソッドを呼び出すステートメントを追加する必要があります。静的メソッドは既に 30 を超えており、今後もさらに増える予定なので、解決方法があるかどうかを怠惰に尋ねたいと思います。

えーっと。 。補足説明しますと、私のプロジェクトフレームワークはspring mvcをベースにしていますが、コメント欄のAOPを読んでBaiduにアクセスしたところ、要件を満たせる可能性があることが分かり、現在検討中です。
純粋な Java コードだけであれば、考えてもこのニーズを解決するのは難しいでしょう。

淡淡烟草味淡淡烟草味2744日前925

全員に返信(8)返信します

  • 伊谢尔伦

    伊谢尔伦2017-06-12 09:27:34

    ....SFのバージンアンサーをあげます
    考えないでください、いいえ...

    返事
    0
  • ringa_lee

    ringa_lee2017-06-12 09:27:34

    質問にどう答えればいいのか本当に分かりません

    返事
    0
  • typecho

    typecho2017-06-12 09:27:34

    AOP

    返事
    0
  • 大家讲道理

    大家讲道理2017-06-12 09:27:34

    私のSF処女の答えもあなたに与えられています、解決策を変えましょう

    返事
    0
  • 扔个三星炸死你

    扔个三星炸死你2017-06-12 09:27:34

    staticは使わないほうがいい
    最初からシングルトンなら
    初期化できる

    静的はクラスのロード時に実行されるブロックを定義できますが、
    一般的には適用されません、

    返事
    0
  • 滿天的星座

    滿天的星座2017-06-12 09:27:34

    派生クラスを使用して実装することもできますが、面倒になるだけであり、主題の利便性と速度の目標を満たしていません。
    さまざまなメソッドと比較して、各静的メソッドにコード行を追加する方が高速です。
    質問をコピーして貼り付けるだけですぐに完了します。

    返事
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-06-12 09:27:34

    正規表現を使用して各メソッドの先頭を照合し、必要なメソッドを挿入します

    返事
    0
  • 三叔

    三叔2017-06-12 09:27:34

    メソッドのパラメータにコールバックを追加するだけです。たとえば、最初は次のように記述されました: public static void doSomeThing(Object args1)
    現在は次のように記述されています

    リーリー

    返事
    0
  • キャンセル返事