lesson 3 GradleとSpringBoot

3560 ワード

lesson 3 GradleとSpringBoot
今はマイクロサービスが流行っていますが、javaプログラマーとしては、ほとんどspring bootフレームワークを使って開発しなければなりません.次に皆さんと一緒に勉強し、spring bootのgradleを使って、実際の行動からGradleの構築過程を理解します.
spring bootに詳しい方はご存知でしょうが、基礎プロジェクトはいろいろなツールで作成できます.IDEAのspring initializrを使ってプロジェクトを作成しました.作成時にオプションに注意してください.Type:Gradle ProjectはMavenに選ばないでください.それから、ヒントに従って、ずっと注文すれば、プロジェクトはOKです.
友情のヒント:gradleについて説明するつもりなので、最も基本的なwebプロジェクトを作成するだけでいいです.
.
├── build.gradle
├── settings.gradle
└── src
    ├── main
    │   ├── java
    │   │   └── com
    │   │       └── example
    │   │           └── demo
    │   │               └── gradle
    │   │                   └── DemoGradleApplication.java
    │   └── resources
    │       ├── application.properties
    │       ├── static
    │       └── templates
    └── test
        └── java
            └── com
                └── example
                    └── demo
                        └── gradle
                            └── DemoGradleApplicationTests.java


プロジェクト構造は上記の通りです.
gradleファイルの内容を見てみましょう.settings.gradleは依然として1行のみで、プロジェクト名rootProject.name = 'demo-gradle'を表しています.
build.gradleには多くの内容があります
buildscript {	//buildScript      ,      ,  ,jar    ,   maven pluginsManagement   
    ext {  		//ext         
        springBootVersion = '2.1.1.RELEASE'
    }
    repositories {	//  ,   
        mavenCentral()
    }
    dependencies {	//       
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}
//    ,  buildScript   ,             

apply plugin: 'java'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'

group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'

repositories {
    mavenCentral()
}
//          
dependencies {
	//   spring boot      ,          ,      io.spring.dependency-management       
    implementation 'org.springframework.boot:spring-boot-starter-web'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

これにより、プロジェクトは基本的にコンパイル、パッケージング、実行できます.gradleはバージョンの違いのため、いくつかの書き方が異なる可能性があります.例えば、apply plugin: 'java'は実は古いバージョンの書き方で、新しい代替書き方はplugins{ id 'java' version 'xx'}バージョン番号でdependencyと同じように省略できます.私が見た資料では、apply plugin:‘xxx’という書き方はここでバージョン番号を指定できないようで、buildScriptで導入して制御する必要がありますが、新しい書き方はプラグイン名とバージョン番号で直接プロジェクトに導入できるので、それに比べてスクリプトコードの量が小さくなり、読むこともできます.次は私がこのbuildにgradleの変更により、プロジェクトは正常に使用できます.
//            
plugins {
    id 'java'
    id 'idea'
    id "org.springframework.boot" version "2.1.1.RELEASE"
    id "io.spring.dependency-management" version "1.0.6.RELEASE"
}

group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'
targetCompatibility = '1.8'

//   aliyun   ,      
repositories {
    maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
    maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter' }
}
//       
dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

このように見ると、私が修正した構成は確かにコードが少なく、分かりやすく、これらを通じてこのスクリプトの構築過程を理解すべきだと信じています.IDEが作成したgradleスクリプトから、自分で書き方を修正して読みやすくするまで、仲間たちも一緒に手を動かしてください.技術にとって、熟練も得られない技術です.