集約エンジニアリング:Maven
エンジニアリングベースのモジュール開発を指します。その利点は次のとおりです。
- ディレクトリは明確で管理しやすい
- 個別開発(チーム)対応
- 便利で統一された依存関係のバージョン管理
実際には、これが私がそれを理解している方法です(間違っているかもしれませんが、心が開いていると思います。意味を理解することは問題ありません)。
プロジェクトのボスはタスクを送信し、最初に次のことを行いました。
pom
プロジェクトの構造を事前に設定し、ファイル内の依存関係管理を指定- 各人には、エンティティ クラス、Mapper+ テスト、サービス レイヤー、コントローラーなどの基礎となるタスクが割り当てられます。
- 一人一人の制限時間は異なり、同時に複数のプロジェクトを担当することもあるため、チームワークははしごの上で行われる可能性があります。
では、最初の 2 つのことについて、集約エンジニアリングについて学びましょう。
ステップ
新築
新しい空のプロジェクトを作成し、maven
パッケージ管理ツールとして指定します。
プロジェクトに入ったら、src
ディレクトリを削除します。これは、src
ソース コード ディレクトリとして使用される親プロジェクトであり、親プロジェクトはここでコードを編集しないため、直接削除します。
pom ファイルの編集 - 統一された依存関係管理
開発を使用するのが主流であるSpringBoot
ため、親ディレクトリの親を指定できます。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.6.RELEASE</version>
</parent>
复制代码
ラベルにproperties
、プロジェクトが依存する必要があるバージョン番号を指定します. これは主にspring-boot-starter-parent
参照の形で行われます. 興味がある場合は、クリックしてご覧くださいspring-boot-dependencies
.
後で統合プロジェクトを導入するために、いくつかの基本的なパッケージが最初に導入され、それらのバージョン番号が指定されます。
- mybatis-plus: データ永続化レイヤー フレームワーク
- knife4j: インターフェイス ドキュメント フレームワーク
- jwt: jwt セキュリティ認証
- fastjson: json 形式の変換
<properties>
<java.version>1.8</java.version>
<mybatis-plus.version>3.4.1</mybatis-plus.version>
<mysql.version>8.0.30</mysql.version>
<knife4j.version>3.0.3</knife4j.version>
<jwt.version>0.9.1</jwt.version>
<fastjson.version>2.0.21</fastjson.version>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
复制代码
これの目的は、このプロジェクトが依存しているパッケージに競合がないことを最初に確認することです。
これだけでは不十分です.これはバージョン番号を指定するだけで,変数を定義するのと同じです.以降のプロジェクトの依存関係構成を導入するために,バージョン番号は入れません.dependencyManagement
ラベルも書く必要があります.
<dependencyManagement>
<dependencies>
<!--mybatis-plus 持久层-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
<!--mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
</dependency>
<!--knife4j-->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<version>${knife4j.version}</version>
</dependency>
<!--jjwt-->
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>${jwt.version}</version>
</dependency>
<!--fastjson-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${fastjson.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
复制代码
このようにして、後続のサブモジュールがこの依存関係をインポートするときに、バージョン番号を指定する必要がなくなりました。
新しいモジュール - タスクの割り当て
図のようにクリック
以下は一例で、他の手順は同じです。重要な点は、Parent
書き込まれているものが親プロジェクトの対応するものであることを明確に確認することです。artifactId
検証: 親プロジェクトに青い下向き矢印が表示されます。
これは、このプロジェクトの下に独立したサブモジュールが作成されたことを意味します。
次に、下位の作業順序からこれらのモジュールを割り当てます。サブモジュールは、dependencies
他のサブモジュールの説明を (次のように) 記述して依存させることができます。たとえば、service
次のようにmapper
なります。
<dependency>
<groupId>top.chengyunlai</groupId>
<artifactId>mapper</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
复制代码