Spring ソースコードのコンパイル

この例は、 spring-framework-5.2.22.RELEASE + GradleWapper + jdk1.8.0_131 に基づいてコンパイルされています

# 環境の準備

  • メイブン

  • jdk8+

  • アイデア

# ソースコードのダウンロード

  1. 入力https://github.com/spring-projects/spring-framework

Springのソースコードはgithubで公開されています

  1. 最新リリースバージョンのソースコードをダウンロードする

バージョンの違いについてあまり心配する必要はありません。5.x の正式リリース (RELEASE) である限り、教師と同じバージョンを意図的に保証する必要はありません。 ) で十分です。Spring の Ioc AOP のコア ブランチは変更されず、細部が変更されるだけです。

男:

M1、M2、…のMはマイルストーンの略でマイルストーンを意味し、大幅な改良を加えたバージョンを表します。

git アドレス()

 git clone --branch v5.2.22.RELEASE https://github.com/spring-projects/spring-framework.git

ビルドツールの準備:

ソースコードに対応したバージョンのgradleをインストールする(またはインストールしない) gradleWraperでgradleを使用することを推奨します。

ガドルの紹介:

Gradle は、コンパイル、パッケージ化、テストのプロセスを簡素化するビルド システムです。 Java に精通している学生は、Gradle と Maven を比較できます。
Gradle Wrapper の機能は、Gradle 自体のインストールとデプロイを簡素化することです。プロジェクトのバージョンが異なると、異なるバージョンの Gradle が必要になる場合があります。手動でのデプロイメントは面倒で、競合が発生する可能性があるため、これらの処理を支援する Gradle Wrapper が必要です。 Gradle Wrapper は Gradle プロジェクトの一部です。

Gradle はソースコードを学習するプロセスにそれほど Gradle が関与しないため、深く学習するのに時間を費やす必要はありません。もちろん、興味があれば学習することもできます。新星に相当しますが、Mavenはすでに十分に優れており、当面は Maven を置き換える方法はありません。

gradleWraper はこのファイルに反映されています。これは、gradle をリモートからローカルに自動的にダウンロードするのと同じです (したがって、gradleWraper の統合リモート バージョンを使用できるため、gradle をダウンロードしてもしなくても構いません)。< a i=1 >spring-framework-5.2.22.RELEASE\gradle\wrapper\gradle-wrapper.properties

したがって、ダウンロードする必要がある場合は、このリンクに対応する Gradle バージョンをダウンロードするのが最善です

spring-framework\gradle\wrapper\gradle-wrapper.properties

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

build.gradleを変更する

このファイルは、プロジェクトの依存関係やその他の情報を管理するための Maven pom.xml と同等です。

ルート ディレクトリgradle.properties

ミラーリングを設定する

repositories {
            maven{ url 'https://maven.aliyun.com/nexus/content/groups/public/'}
maven{ url 'https://maven.aliyun.com/nexus/content/repositories/jcenter'}
mavenCentral()
maven { url "https://repo.spring.io/libs-spring-framework-build" }
        }

公式ウェブサイトに従ってコンパイルします。

gradlew (gradle-wrapper コマンド) を使用して、最初に oxm:compileTest Java をコンパイルします。 ./gradlew :spring-oxm:compileTestJava で spring-oxm をプリコンパイルします。
    • コンパイルcompileTestJavaモジュール

ソースコードが置かれているフォルダーを開いて Windows の cmd コマンドに入力します (Windows の場合、カレントディレクトリに「./」を入力する必要はありません)。 (入力することも可能です)

gradlew :spring-oxm:compileTestJava

イメージの設定後、コンパイルはすぐに完了します (1 ~ 2 分)。時間がかかる場合は、イメージが動作していないことを意味します。コンパイルが異常な場合は、ご自身で検索してください。異常は誰でも発生する可能性があります。コンピューターと環境。

    • プロジェクトをアイデアにインポートする

プロジェクトをアイデアにインポートします: IntelliJ にインポート (ファイル -> 新規 -> 既存ソースからのプロジェクト -> ディレクトリに移動 -> build.gradle を選択)

インポート後はコンパイルを待ちますが、少し時間がかかるとコンパイルが完了しますのでご安心ください。

    • テストモジュールコードを追加します。

テストコードを追加: コードアウェイ

new->model->gradle-->モジュール名を入力してください

IOC 機能をテストするコードを作成する

    • 依存関係を追加する

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12' 
    compile(project(":spring-context"))     
}

compile(project(":spring-context")) はこのプロジェクトを表します

    • 任意の Bean を自由に追加してください。

package org.springframework.bean;

import org.springframework.stereotype.Service;

@Service
public class TestServiceImpl {
    public void hello(){
        System.out.println("Hello Spring");
    }
}
    • 起動構成クラスを追加します。

package org.springframework.bean;

import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

@Configuration
@ComponentScan("org.springframework.bean")
public class MainTest {
    public static void main(String[] args) {
        ApplicationContext context=new AnnotationConfigApplicationContext(MainTest.class);
        TestServiceImpl bean = context.getBean(TestServiceImpl.class);
        bean.hello();
    }

}
    • 出力を修正すれば完了です。

おすすめ

転載: blog.csdn.net/csl12919/article/details/128789567