Spring MVC では、特定のコントローラーが呼び出される前後に作業を実行できるインターセプターを定義できます。これは、たとえば、ロギング、認証などを行うために使用できます。
カスタム インターセプタを作成したいプログラマは、HandlerInterceptorインターフェイスを実装する必要があります。このタスクを支援するために、インターフェースで指定されたすべてのメソッドのデフォルト実装を提供するHandlerInterceptorAdaptor抽象基本クラスが提供されています。したがって、前処理だけを行いたい場合はextend HandlerInterceptorAdaptor
、関数@Override public boolean preHandle(...)
の実装について心配する必要はありませんpostHandle
。
私の疑問は名前に関するものです。Adapter パターンについて私が理解していることから、インターフェイス間の構文インピーダンスの不一致を適応させます。
そうですか?はいの場合、ボイラープレートの実装を提供するクラスは HandlerInterceptorDefaultImpl と呼ばれるべきですか、またはそれらの線に沿ったものですか?
ここで起こっていることの別の命名法/パターンはありますか?
ボイラープレート クラスが必要であるという事実は、コードの臭いであり、HandlerInterceptor インターフェースを HandlerPreInterceptor と HandlerPostInterceptor の 2 つにリファクタリングすることで取り除くことができるのでしょうか? それともやり過ぎですか?