CodeGym /Java Blog /ランダム /パート 8. Spring Boot を使用して小さなアプリケーションを書いてみましょう
John Squirrels
レベル 41
San Francisco

パート 8. Spring Boot を使用して小さなアプリケーションを書いてみましょう

ランダム グループに公開済み
この資料は、「エンタープライズ開発入門」シリーズの完結編です。以前の記事: パート 8. Spring Boot を使用して小さなアプリケーションを書いてみよう - 1Spring MVC を例として使用して、MVC の最も単純な実装を見てみましょう。これを行うには、Spring Boot を使用して小さな Hello World アプリケーションを作成します。段階的に説明しますので、すべてを自分で繰り返すことができます。まず、小さなアプリケーションを作成し、それから分析します。

ステップ 1. IntelliJ IDEA で Spring Boot アプリケーションを作成します。

[ファイル] -> [新規] -> [プロジェクト…] を使用して新しいプロジェクトを作成します。開いたウィンドウの左側のメニューで Spring Initializr を選択し、プロジェクト SDK を選択します。[Initializr Service URL] オプションはデフォルトのままにします。 パート 8. Spring Boot を使用して小さなアプリケーションを書いてみよう - 2「次へ」ボタンをクリックします。次のウィンドウでは、プロジェクト設定を選択する必要があります。Maven プロジェクトを作成します。タイプとして Maven プロジェクトを選択します。「グループ」フィールドと「アーティファクト」フィールドに入力し、「次へ」をクリックします。 パート 8. Spring Boot を使用して小さなアプリケーションを書いてみよう - 3次のウィンドウでは、使用する Spring Framework コンポーネントを選択する必要があります。2 つあれば十分です。
  • Spring Web は、Web アプリケーションを作成できるコンポーネントです。このコンポーネントには Spring MVC が含まれています。
  • Thymeleaf はテンプレート エンジンです。Java から HTML ページにデータを送信できるようにするものです
パート 8. Spring Boot を使用して小さなアプリケーションを書いてみよう - 4パート 8. Spring Boot を使用して小さなアプリケーションを書いてみよう - 5次のウィンドウで、プロジェクトの名前とファイル システム内の場所を選択します。 パート 8. Spring Boot を使用して小さなアプリケーションを書いてみよう - 6[完了] ボタンをクリックします。プロジェクトが作成されます。最終的に次のプロジェクト構造になります。 パート 8. Spring Boot を使用して小さなアプリケーションを書いてみよう - 7ここでは、pom.xml (デプロイメント記述子) という 2 つのファイルに注目します。これにより、さまざまなフレームワークからプロジェクトにライブラリを迅速かつ簡単にインポートできるようになります。また、アプリケーションの構築方法を設定する場所でもあります。私たちのアプリケーションは Maven を使用して構築されており、pom.xml はこのビルド システムの構成ファイルです。Java クラスは MvcDemoApplication です。これはアプリケーションのメインクラスです。そこから Spring Boot プロジェクトを起動します。まず、このクラスの main メソッドを実行するだけです。このクラスのコードと pom.xml ファイルは次のとおりです: MvcDemoApplication:

@SpringBootApplication
public class MvcDemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(MvcDemoApplication.class, args);
    }

}
pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.2.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.codegym/groupId>
    <artifactId>mvc_demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>mvc_demo</name>
    <description>Spring MVC Demo</description>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

ステップ 2. Web ページの作成

私たちのアプリケーションは非常にシンプルになります。メイン ページ (index.html) があり、そこにはウェルカム ページ (greeting.html) へのリンクが含まれます。挨拶ページでは挨拶を表示します。URL パラメータを使用して、挨拶文で使用する名前をgreeting.html ページに渡します。アプリケーションのメイン ページ —index.html を作成しましょう。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Main page</title>
</head>
<body>
    <p>Get your greeting <a href="/greeting">here</a></p>
</body>
</html>
次に、greeting.html ページを作成します。

<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>Getting Started: Serving Web Content</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
    <p th:text="'Hello, ' + ${name} + '!'" />
</body>
</html>
私たちのページには<p th:text="'Hello, ' + ${name} + '!'" />タグがありますが、これは HTML では通常ではありません。thタグの属性は、Thymeleafpテンプレート エンジンによって使用されるメカニズムです。タグの値は、「Hello, " + Java コードで設定する変数 pの値」になります。 name

ステップ 3. コントローラーの作成

mvc_demo パッケージ内にコントローラー パッケージを作成し、その中にコントローラー HelloWorldController を作成します。

@Controller
public class HelloWorldController {

   @RequestMapping(value = "/greeting")
   public String helloWorldController(@RequestParam(name = "name", required = false, defaultValue = "World") String name, Model model) {
       model.addAttribute("name", name);
       return "greeting";
   }

}
コードが非常に少ない一方で、多くのことが行われています。分析を始めましょう。@Controller アノテーションは、このクラスがコントローラーであることを示します。Spring では、コントローラーは特定の URL に向けられた HTTP リクエストを処理します。このクラスには、 @RequestMapping(value = "/greeting") アノテーションが付けられた helloWorldController メソッドがあります。このアノテーションは、このメソッドが /greeting URL に向けられた HTTP GET リクエストを処理することを示します。つまり、誰かが /greeting に移動すると、このメソッドが呼び出されます。このメソッドは文字列を返します。Spring MVC によれば、コントローラー メソッドはビューの名前を返す必要があります。次に、Spring は同じ名前の HTML ファイルを検索し、HTTP リクエストへの応答として返します。ご覧のように、 私たちのメソッドは 2 つの引数を取ります。それらを見てみましょう: パラメータ 1: @RequestParam(name = "name", required = false,defaultValue = "World") 文字列名。@RequestParam アノテーションは、文字列名パラメーターが URL パラメーターであることを示します。注釈がこの URL パラメーターがオプション (必須 = false) であることを示している場合、それが存在しない場合、文字列名パラメーターの値は "World" (defaultValue = "World") になります。存在する場合、URL パラメーターは「name」になります (name = 「name」)。ここでは理解できないことがたくさんあるかもしれません。いくつか例を挙げてみましょう。以下の表は、/greeting にアクセスするためのさまざまなオプション (URL パラメーターの有無にかかわらず) と、文字列名パラメーターの値がどのようになるかを示しています。
URLの例 文字列名の値
/挨拶 世界
/greeting?name=アミーゴ アミーゴ
/greeting?name=ゾール ゾール
パラメーター 2: 2 番目のパラメーターは Model モデルです。このパラメータは何らかのモデルです。このモデルはさまざまな内部属性で構成されます。各属性には名前と値があります。キーと値のペアのようなもの。このパラメータを使用して、Java コードから HTML ページにデータを送信できます。または、MVC 用語を使用して、モデルからビューにデータを送信します。あとは最後の行を調べるだけです。これは、Java から HTML に、またはモデルからビューにデータを送信する方法です。このメソッドには次の行が含まれています。 model.addAttribute("name", name); ここでは、name という新しい属性を作成し、それに name パラメーターの値を割り当てます。思い出してください。最近、 <p th:text = "'Hello,' + ${name} + '!'" /> p タグの値は「Hello, 」 + name 変数の値であり、Java コードで設定することになると説明しました。次の行を使用してこの値を設定します model.addAttribute("name", name);

ステップ5.実行

まず、MvcDemoApplication クラスの main メソッドを実行する必要があります。 パート 8. Spring Boot を使用して小さなアプリケーションを書いてみよう - 9ログでは、Web アプリケーションがポート 8080 で開始されたことがわかります。 これは、ブラウザーでhttp://パート 8. Spring Boot を使用して小さなアプリケーションを書いてみよう - 10のページに移動できることを意味します。localhost:8080 : パート 8. Spring Boot を使用して小さなアプリケーションを書いてみよう - 11ここに、index.html ページがあります。挨拶ページへのリンクをたどってみましょう: パート 8. Spring Boot を使用して小さなアプリケーションを書いてみよう - 12この遷移でコントローラーが呼び出されました。URL を通じてパラメーターは渡しませんでした。その結果、name 属性は、アノテーションで示されたデフォルト値 (「World」) になります。URL 経由でパラメータを渡してみます。 パート 8. Spring Boot を使用して小さなアプリケーションを書いてみよう - 13すべてが意図したとおりに機能します。ここで、name 変数のパスをトレースしてみます。
  1. ユーザーが URL に「name=Amigo」を渡しました ->
  2. コントローラーはアクションを処理し、name 変数を受け取り、受け取った値と等しい name というモデル属性を設定しました ->
  3. このデータはモデルから表示され、最終的にはgreeting.htmlページに表示され、ユーザーに表示されました。
今のところは以上です!

今日、私たちは MVC (モデル - ビュー - コントローラー) というかなり大きくて興味深いトピックについて知りました。エンタープライズ開発を始める前に知っておくべきことを紹介するシリーズはこれで終わりです。

コメント欄で、どのトピックに興味があるか教えてください。私たちが取り上げます。

コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION