そのクラスのメソッドが呼び出されるたびに、クラス内でメソッドを実行できる方法はありますか?Javaでそのクラスを呼び出す前にメソッドを呼び出す
私はここに私のシナリオを簡単にあげる:
Class Util{
private isConnected(){
if(!xxxapi.connected())
throw new MyException(....)
}
public createFile(){....}
public removeFile(){....}
}
をので、私はcreateFile()
が実際に開始する前にをisConnected()が呼び出されたことをしたいnew Util.createFile()
を呼び出すいつでも。 明らかに私はそれぞれの方法の開始時に毎回isConnected()
を呼び出すことができますが、別の解決方法があるのだろうかと思っていました。
このようなシナリオには、他に提案や解決策がありますか?
おそらく、リフレクションAPIを探る必要があります。反射を使ってこれを達成することができます。フレームワークを使用しても構わないのであれば、おそらく、あなたのユースケースのためにそこにあるSpring AOPを調べることができます。 – sakura
あなたはAOPを使うことができますが、そのメソッドをstart _every_メソッドで呼び出す場合を除き、おそらく開発者のパフォーマンスの点でそれほど多くは得られません。 – Thomas
あなたはより洗練されたソリューションの注釈を調べるべきだと思います。 – BigMike