私はプログラミングの勉強を始めてまだ1週間も経ちませんが、メモがわりに投稿します。
少し長い説明になってますが、飛ばしているようなステップは無く、下記の通りにやればできるはずだと思います。
対象読者:
- Javaの超初心者(1ヶ月以内)
- コードの内容は分からないが、とりあえずブラウザ上に「HelloWorld」を表示させてみたい方
- InteliJで下記のYoutubeサイトを見たがよく分からない人
内容に関しては、以下のInteliJが上げているYoutubeサイトの内容ほぼそのままです。
https://www.youtube.com/watch?v=5kOGdZmpSDI
#目次
1.プロジェクトの新規作成
2.Springbootアプリの実行(test)
3.HTTP Responseチェックの作成
4.Spring Controllerの作成
5.ブラウザへのHelloworld表示
#1.プロジェクトの新規作成
##1-1.New Project
InteliJを開き、「New Project」ボタンをクリック
##1-2.Spring Initializr
①「Spring Initializr」を選択
②「Next」ボタンをクリック
※その他の入力値は下記表示画面の通り、デフォルト値にしてます。
##1-3.Spring web
①「web」と入力し検索
②「Spring Web」にチェックを入れる
③「Finish」ボタンを押す
##1-4.新規プロジェクト作成完了
以下のような画面が出てきます
#2.Springbootアプリの実行(test)
##2-1.ApplicationTests
①「src->test->java->com.example.demo」配下にある、「DemoApplicationTests」をダブルクリックすると、画面右にコードの内容が表示される事を確認します。
②Runボタンを押し、ApplicationTestsを実行します。
##2-2.ApplicationTestsの実行結果
コンソール画面に、「Tomcat started on port(s): 8080 (http) with context path ''」と表示されていることを確認します。つまり、Tomcatがポート8080で正常起動しているようなので、ブラウザに表示されるかも次で確認してみます。
##2-3.ブラウザで確認
ブラウザを開き、「http://localhost:8080」をタイプしましたが、以下のように「Whitelabel Error Page」で戻ってきてしまいました。このYouTubeによると、springcontrollerが無いのが原因のようですので、以下で作成します。
##2-4.Tomcatを一旦停止
画面右上の■ボタンを押し、Tomcatを停止ます。
#3.HTTP Responseチェックの作成
##3-1.HTTP Responseチェックの作成
HTTP Responseをチェックするクラスを以下のように作成します。
①「com.exmaple.demo」をクリックします。
②「New」をクリックします
③「Java Class」をクリックします。
##3-2.CheckHTTPResponseクラスの作成
「New Java Class」のウィンドウが表示されるので、「Class」が選択(ハイライト)されていることを確認し、「CheckHTTPResponse」(名前は任意)と入力し、Enterキーを押します。
##3-3.CheckHTTPResponseの確認
画面左に「CheckHTTPResponse」クラスが作成されている事と、画面右のサンプルコードができていることを確認。
##3-4.CheckHTTPResponse内にコードを記述
「CheckHTTPResponse」クラス内に、以下のようにコードを記述します。
以下注意点です。
- 下記コード内にimportが6行ありますが、これはその下のアノテーションを入力すると自動的に入力されます。
- 「package com.example.demo;」のpackage以降は初めのプロジェクト作成時に変更した場合は、本例と異なる名前になります。
- asserEqualsが何故かうまく入力できず、エラー(赤色表示のまま)になってしまうことがあります。対処法はassertEqualsの左にカーソルを持っていき、Macであれば「Option」ボタンをenterキーを同時に押すと赤色表示から白っぽい文字に変わりエラーが消えます(何故だか不明)。
package com.example.demo;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.web.client.TestRestTemplate;
import org.springframework.boot.web.server.LocalServerPort;
import static org.junit.jupiter.api.Assertions.assertEquals;
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class CheckHTTPResponse {
@LocalServerPort
private int port;
@Autowired
private TestRestTemplate testRestTemplate;
@Test
public void shouldPassIfStringMatches(){
assertEquals("Hello World from Spring Boot", testRestTemplate.getForObject("http://localhost:" + port + "/", String.class));
}
}
#4.Spring Controllerの作成
##4-1.Spring Controllerの作成
Spring Controllerクラスを以下のように作成します。
①「com.exmaple.demo」をクリックします。
②「New」をクリックします
③「Java Class」をクリックします。
##4-2.HelloWorldControllerクラスの作成
「New Java Class」のウィンドウが表示されるので、「Class」が選択(ハイライト)されていることを確認し、「HelloWorldController」(名前は任意)と入力し、Enterキーを押します。
##4-3.HelloWorldControllerの確認
画面左に「HelloWorldController」クラスが作成されている事と、画面右のサンプルコードができていることを確認。
##4-4.HelloWorldController内にコードを記述
「HelloWorldController」クラス内に、以下のようにコードを記述します。
以下注意点です。
- 下記コード内にimportが2行ありますが、これはその下のアノテーションを入力すると自動的に入力されます。
- 「package com.example.demo;」のpackage以降は初めのプロジェクト作成時に変更した場合は、本例と異なる名前になります。
package com.example.demo;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloWorldController {
@RequestMapping
public String helloWorld(){
return "Hello World from Spring Boot";
}
@RequestMapping("/goodbye")
public String goodbye(){
return "Goodbye from Spring boot";
}
}
#5.ブラウザへのHelloworld表示
##5-1.CheckHTTPResponseに移動
「CheckHTTPResponse」クラスを開いてください。
Macであれば下記絵のように「Command」ボタンを押しながら、「E」ボタンを押すと、最近開いたファイルが表示されるので、「CheckHTTPResponse」を選択しEnterキーを押します。
##5-2.CheckHTTPResponseの実行
「CheckHTTPResponse」クラスが開いていることを確認し、右上の「Run」ボタンをクリックし、プログラムを実行します。
##5-3.Tomcat起動の確認
下記絵のように、コンソール画面でTomcatが起動していることを確認します。
##5-4.ブラウザでHelloWorldの確認
先ほど開いたブラウザに戻り、リフレッシュすると下記のように「HelloWorld from Spring boot」が表示されます。