モール: hutool プロジェクトのソース コード分析

1.モールオープンソースプロジェクト

1.1 出典

モール学習チュートリアル、アーキテクチャ、ビジネス、技術的なポイントの包括的な分析。モール プロジェクト ( 50k+star ) は、現在の主流のテクノロジーを使用して実装された電子商取引システムです。Docker コンテナーのデプロイメントを使用した、SpringBoot 2.3.0、MyBatis 3.4.6、Elasticsearch 7.6.2、RabbitMQ 3.7.15、Redis 5.0、MongoDB 4.2.5、Mysql5.7 およびその他のテクノロジーをカバーします。

プロジェクトの github アドレス: github.com

1.2 プロジェクトの移管

Github 上のプロジェクトを gitee に転送して、アイデアのクローンを簡単に作成できます。

具体的な手順は次のとおりです。

ここに画像の説明を挿入します

1.3 プロジェクトのクローン作成

github は海外に展開されているため、idea は github からのプルにも対応していますが、クローン作成速度が遅すぎるため、前述のように gitee をインポートした後、プロジェクトを idea にクローンすることをお勧めします。

具体的なクローン作成手順は単純すぎて日常的なものなので、読者は自分で作成することも、Baidu で検索することもできます。

2. Hutoolツールライブラリ

API文档概要(hutool-codeyun(gitee.com))

hutool开发文档: Hutool (開発中にニーズに遭遇した場合は、まず自分でドキュメントを確認して印象を掴んでください)

2.1 Hutoolの概要

Hutoolは小規模で包括的な Java ツール クラス ライブラリであり、静的メソッドのカプセル化を使用して、関連する API の学習コストを削減し、作業効率を向上させ、Java を関数型言語と同じくらいエレガントにします。

Hutool のツールとメソッドは、各ユーザーの慎重な職人技から生まれています。基盤となるコードの Java 開発のあらゆる側面をカバーしています。大規模なプロジェクト開発における小さな問題を解決するための強力なツールであるだけでなく、効率化にも役立ちます小規模なプロジェクトの場合。

Hutool は、プロジェクト内の "util" パッケージに代わるフレンドリーな代替ツールであり、開発者がプロ​​ジェクト内でパブリック クラスとパブリック ツール メソッドをカプセル化する時間を節約し、不完全なカプセル化によって引き起こされるバグを最小限に抑えながら、開発がビジネスに集中できるようにします。

3. ソースコード分析

mall-tiny-hutoolプロジェクトのソースコードには、開発で一般的に使用されるいくつかのツールキットのみが示されています。示されていないその他のツールキットについては、自分で学ぶことができますhutool开发文档。ドキュメントは非常に詳細です。

**分析内容:** 以下の分析内容の大部分は図の中で説明されており、外部での説明はあまりありません。

3.1 統合と構成

ソースコードを直接解析し、hutoolに関係する部分のみを解析し、設計業務部分についてはあまり説明しませんので、他の部分については読者の方がご自身でソースコード解析を読んでください。

mall-tiny-hutool**プロジェクトの起動:**モジュール部分を起動するだけで済みます。

**起動に必要:** mysql5 サービスを開始し、データベースを作成し、テーブルをインポートします (SQL ファイルの場所はプロジェクトと同じディレクトリのdocumentフォルダーにあります)。

**ps:** データベース接続の構成情報を忘れずに変更してください。

3.1.1 依存関係のインポート

pom文件hutool の関連依存関係を にインポートします

ここに画像の説明を挿入します

3.1.2 構成の追加

ここに画像の説明を挿入します

3.2 コアツール

swagger接口文档場合、インターフェイスはすべて でありget请求、返されるものはすべて成功した操作と null データであるため、あまり多くは表示せず、次にこれらのツール クラスの使用法を理解するために1 回だけ表示します。

ここに画像の説明を挿入します

下面的例子これらはすべてツール クラスのほんの一部であり、コードを解析する前にまず公式の開発ドキュメントを読みますが、そのツール クラスを見た場合は、対応する公式ドキュメントを読んで印象を深めておくことをお勧めします。

3.2.1 AnnotationUtil の使用法: アノテーション ツール クラス

注解工具类开发文档定位アノテーションツール - AnnotationUtil | Hutool

1、控制层接口

AnnotationUtil ツール クラスは、指定されたクラスのアノテーション情報 (アノテーション リストやアノテーションの属性値など) を取得し、結果を出力するメソッドで使用されます。

ここに画像の説明を挿入します

2、idea控制台打印的日志信息

ここに画像の説明を挿入します

3.2.2 BeanUtil の使用法: JavaBean ツール クラス

Bean工具类开发文档定位: Beanツール-BeanUtil | Hutool

1、控制层接口

ここに画像の説明を挿入します

2、idea控制台打印的日志信息

ここに画像の説明を挿入します

3.2.3 CaptchaUtil の使用法: グラフィック検証コード

CaptchaUtil工具类开发文档定位:概要 | ヒューツール

1、控制层接口

ここに画像の説明を挿入します

2、生成图形验证码效果

ここに画像の説明を挿入します

3.2.4 ClassPath 単一リソース アクセス クラス: classPath の下のファイルを検索

ClassPath工具类开发文档定位:クラスパス リソース アクセス-ClassPathResource | Hutool

1、控制层接口

ここに画像の説明を挿入します

2、idea控制台打印的日志信息

ここに画像の説明を挿入します

3.2.5 CollUtil の使用法: 収集ツール クラス

CollUtil工具类开发文档定位収集ツール-CollUtil | Hutool

1、控制层接口

ここに画像の説明を挿入します

2、idea控制台打印的日志信息

ここに画像の説明を挿入します

3.2.6 Convert の使用法: 型変換ツール クラス

Convert工具类开发文档定位型変換ツール class-Convert | Hutool

1、控制层接口

ここに画像の説明を挿入します

3.2.7 DateUtil の使用法: 日付と時刻ツール

DateUtil工具类开发文档定位日時ツール-DateUtil | Hutool

1、控制层接口

ここに画像の説明を挿入します

3.2.8 DigestUtil の使用法: 要約アルゴリズム ツール クラス

DigestUtil工具类开发文档定位:ダイジェスト暗号化 - ダイジェスター | Hutool

公式開発ドキュメントには他にも多くの暗号化アルゴリズムがあり、それらについては自分で学ぶことができます。

1、控制层接口

ここに画像の説明を挿入します

2、idea控制台打印的日志信息

ここに画像の説明を挿入します

3.2.9 HttpUtil の使用法: Http リクエスト ツール クラス

HttpUtil工具类开发文档定位: HTTP クライアント ツール クラス-HttpUtil | Hutool

公式開発ドキュメントには他にもhttp クライアントの使用法がたくさんあります。それらについては自分で学ぶことができます。

1、控制层接口

ここに画像の説明を挿入します

2、idea控制台打印的日志信息

ここに画像の説明を挿入します

3.2.10 JSONUtil の使用法: JSON 解析ツール クラス

JSONUtil工具类开发文档定位: JSON ツール-JSONUtil | Hutool

公式の開発ドキュメントには、JSON オブジェクトと JSON 配列の使用法も含まれており、自分で学ぶことができます。

1、控制层接口

ここに画像の説明を挿入します

2、idea控制台打印的日志信息

ここに画像の説明を挿入します

3.2.11 MapUtil の使用法: マップ ツール クラス

MapUtil工具类开发文档定位マップツール-MapUtil | Hutool

公式の開発ドキュメントにはMapの他の用途も記載されているので、自分で学ぶことができます。

1、控制层接口

ここに画像の説明を挿入します

3.2.12 NumberUtil の使用法: 数値処理ツール クラス

NumberUtil工具类开发文档定位数値ツール-NumberUtil | Hutool

1、控制层接口

ここに画像の説明を挿入します

3.2.13 ReflectUtil の使用法: Java リフレクション ツール クラス

ReflectUtil工具类开发文档定位リフレクションツール-ReflectUtil | Hutool

1、控制层接口

ここに画像の説明を挿入します

2、idea控制台打印的日志信息

ここに画像の説明を挿入します

3.2.14 SecureUtil の使用法: 暗号化および復号化ツール クラス

SecureUtil工具类开发文档定位暗号化・復号化ツール-SecureUtil | Hutool

1、控制层接口

ここに画像の説明を挿入します

3.2.15 StrUtil の使用法: 文字列ツール

StrUtil工具类开发文档定位:文字列ツール-StrUtil | Hutool

1、控制层接口

ここに画像の説明を挿入します

3.2.16 バリデータの使用法: フィールドバリデータ

Validator工具类开发文档定位:フィールドバリデーターバリデーター | Hutool

1、控制层接口

ここに画像の説明を挿入します

2、idea控制台打印的日志信息

ここに画像の説明を挿入します

4. まとめ

私の印象としては、ビジネスで必要なときに先查看正式な開発ドキュメントを大まかに理解して、それでも解決しない場合は開発ドキュメントをガイドとして定位到APIドキュメントを作成してビジネスを完了することができます。

この記事では、Hutool ツール ライブラリを学習するために、実際のプロジェクトから要件を取得し、学習するソース コードと組み合わせて、mallオープンソース プロジェクトから Hutool を学習しました。私は多くのことを得ることができたと感じています。記事が役に立ちます。

将来的には、このフレームワークを組み合わせて他のテクノロジー スタックも学習する予定です。

盈若安好,便是晴天

おすすめ

転載: blog.csdn.net/qq_51601665/article/details/132650715