この例は、 spring-framework-5.2.22.RELEASE + GradleWapper + jdk1.8.0_131 に基づいてコンパイルされています
# 環境の準備
メイブン
jdk8+
アイデア
# ソースコードのダウンロード
Springのソースコードはgithubで公開されています
最新リリースバージョンのソースコードをダウンロードする
バージョンの違いについてあまり心配する必要はありません。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();
}
}
- 出力を修正すれば完了です。