Springboot の章の全体的なコラム:
[1] springboot は Swagger を統合します (非常に詳細な
[2] springboot は swagger (カスタム) を統合します (非常に詳細)
[4] springboot は mybatis-plus を統合します (非常に詳細) (オン)
[5] springboot は mybatis-plus を統合します (非常に詳細) (下記)
[6] springboot はカスタムのグローバル例外処理を統合します
[7] springboot は redis を統合します (非常に詳細)
[8] springbootはAOPを統合してログ操作を実現します(超詳細)
[9] springboot 統合タイミング タスク (超詳細)
[10] springboot は redis を統合してスタートアップ サービスを実現します。つまり、ホットスポット データをグローバルと redis に保存します (超詳細)
[イレブン] スプリングブートはクォーツを統合してタイミングタスクの最適化を実現します(超詳細)
[12] springboot はスレッド プールを統合して高い同時実行性を解決します (非常に詳細で、理解が容易です)
【その13】springbootは非同期呼び出しを統合して戻り値を取得する(超詳細)
[14] springboot は WebService を統合します (超詳細)
[15] springboot は WebService を統合します (パラメーターの受け渡しについて) (超詳細)
[16] springboot は WebSocket を統合します (超詳細)
[Seventeen] springboot が WebSocket を統合してチャット ルームを実現 (超詳細)
[18] springboot はカスタムのグローバル例外処理を実装します
[Nineteen] springboot は ElasticSearch の実戦を統合します (1 万文字)
[21] springboot は実戦でのインターセプターを統合し、フィルターを比較します
[22] springboot統合活動7 (1) 実践的なデモンストレーション
【23】springboot統合スプリングビジネスの詳細説明と実戦
[24] springbootはEasyExcelとスレッドプールを使用してExcelデータのマルチスレッドインポートを実現します
[25] springboot は、キャッシュの侵入を処理するために jedis および redisson Bloom フィルターを統合します
作成者や変更者の保存など、現在ログインしているユーザーを取得する機能は開発において必要な機能です。以前は、セッションの set メソッドと get メソッド (各メソッドのパラメータ リストを HttpServletRequest リクエスト パラメータで追加する必要があります) または Spring Security などのフレームワークを使用して、現在のログイン情報を取得していました。以下に、プロジェクトで現在使用されているメソッドを共有します。
QQ 交換グループ ナビゲーション ——> 231378628
一般的なプロセスは次のとおりです。
目次
二、HandlerMethodArgumentResolver
1.スレッドローカル
スレッド ローカル変数。スレッド変数を作成した後、各スレッドはこの変数の変数の独自のコピーを持つことができ、各スレッドは他のスレッドから独立した独自のアクセスのコピーになります。
二、HandlerMethodArgumentResolver
このインターフェースはリクエストパラメータの前処理に使用され、次の 2 つのメソッドがあります。
- SupportsParameter: リクエスト パラメーターがパーサーをサポートしているかどうかを判断します (サポートを示す場合は true を返し、resolveArgument メソッドは引き続き呼び出されます。サポートしないことを示す場合は false を返します。パラメーター分析の完了後、resolveArgument メソッドは呼び出され続けません) )。
- solveArgument: パラメータ解析の特定の実装ロジック。パラメータ解析後に最終的にカプセル化されたオブジェクトを返します。
3. 実践的なデモ
1.インターセプター
シミュレートされたフロントエンド リクエストにはトークンが含まれており、1 が渡された場合はキャッシュから取得したユーザー情報が Zhang San であるとみなされ、それ以外の場合は Li Si であると見なされます。そしてスレッド変数にユーザー情報を詰め込みます。
2. グローバルユーザークラス
飢えた中国のシングルトンパターン を採用
3. カスタム注釈
これは、インターフェイスがカスタム パラメーター パーサーをサポートするかどうかを判断するためにパラメーター リストで使用されます。
4. カスタムパラメータ分析
パラメーター解析クラスをカスタマイズし、HandlerMethodArgumentResolver インターフェイスを統合し、その 2 つのメソッドを書き換えます。ここで、メソッド パラメーターにカスタム アノテーションが含まれているかどうかを判断します。含まれている場合は、パーサーがサポートされていることを意味し、true を返し、次のメソッドを入力します実行。
書き換えられたresolveArgumentメソッドは、スレッド変数の値をアノテーションに対応するパラメータに返します。
5. 構成
構成クラスを作成し、WebMvcConfigurer インターフェイスを継承し、インターセプターの追加とパラメーター パーサーの追加メソッドを書き換えて、カスタム インターセプターとパーサーを追加します。
6. テスト
現在のログイン ユーザー情報を取得する 2 つのメソッドをテストします。