1. kty000

    Posted

    kty000
Changes in title
+eclipseにspring bootとgradleを追加する
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,86 @@
+前回の記事はこちら
+[Javaの環境構築をしてhelloworldを出力する](https://qiita.com/kty000/items/5c6519d46a9a72b33dd2)
+
+今回はspring bootとgradleを追加してみましょう。
+
+#spring bootってなに?
+JavaによるWebアプリケーションの開発を迅速かつ効率的に行う仕組みを備えたフレームワークです。
+フレームワークとはプログラミングを効率化するために用意された、プログラムのひな形のようなものです。
+要はプログラムを簡単に書くためのヤツです。
+
+#Gradleってなに?
+wikiより
+>GradleはApache AntやApache Mavenのコンセプトに基づくオープンソースビルド自動化システムであり、プロジェクト設定の宣言にはApache Mavenが利用するXML形式ではなくGroovyベース、もしくはKotlin Scriptベースのドメイン固有言語 (DSL) を採用している
+
+うん。よくわからん。調べたところこちらの記事がとてもわかりやすかったです([Gradle入門](https://qiita.com/vvakame/items/83366fbfa47562fafbf4))
+
+開発するうえで便利なものはいろいろあります。それを使うためのものを毎回1つづつ取ってくるのは面倒なのでGradleさんにこれよろしく~といえばGradleさんがやってくれる。みたいな感じだと思っています。
+
+
+
+#追加する
+Eclipse Marketplaceから追加します。
+1.[Help] => [Eclipse Marketplace]を開く
+2.serchにgradleと入力して検索し、インストールを押下
+![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/550109/efb29ded-53ea-1ed5-88e2-3b0d047abe48.png)
+3.ライセンスのレビューがでるのでI acceptを選択してfinish
+4.インストールが完了すると再起動してねと言われるので再起動して完了です。
+
+springも1~4と同じ要領で追加できます。
+
+
+#springのプロジェクトをつくってみる
+追加ができたのでspringを使ったプロジェクトを作ってみましょう。
+1.[file] => [new] => [Other] => [Spring Starter Project] を選択
+2.プロジェクトやパッケージの名前を決めます。今回はhelloSpringとしました。
+![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/550109/ab05e78f-5c73-a4be-50d2-1b3b3b957aff.png)
+3.プロジェクト依存関係の選択。今回はサンプルなのでwebを選びました
+![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/550109/4913470a-515f-0cd7-8638-394b1cb793f8.png)
+
+4.finishを押下して完了。こんな感じでできました。
+![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/550109/12e1023e-5b1c-1489-5081-ad50f6b2705d.png)
+
+####依存関係ってなに?
+4で記述した依存関係についてです。正直よくわかってませんが、使いたいSpringフレームワークをここで選ぶということみたいです。Gradleさんにこれよろしく~と頼むものを選ぶイメージですかね。Gradleの設定ファイルをいじることで後から追加もできます。
+(認識が違ったら教えていただけますと幸いです)
+
+作成したプロジェクトの中を見てみます。
+Gradleの設定ファイルは`build.gradle`になってますのでこれを開いてみます。
+
+```
+ruby.buid.gradle
+plugins {
+ id 'org.springframework.boot' version '2.3.2.RELEASE'
+ id 'io.spring.dependency-management' version '1.0.9.RELEASE'
+ id 'java'
+}
+
+group = 'com.example'
+version = '0.0.1-SNAPSHOT'
+sourceCompatibility = '1.8'
+
+repositories {
+ mavenCentral()
+}
+
+dependencies {
+ /*追加されている↓*/
+ implementation 'org.springframework.boot:spring-boot-starter-web'
+ implementation 'org.springframework.boot:spring-boot-starter-web-services'
+ /*追加されている↑*/
+
+ testImplementation('org.springframework.boot:spring-boot-starter-test') {
+ exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
+ }
+}
+
+test {
+ useJUnitPlatform()
+}
+
+```
+依存関係の選択時に選んだ`web`と`web service`が追加されていますね。
+
+このあたりは私もまだまだ知識が足りないのでいつかまとめたいと思います。
+
+