こんにちは!運営者のハックです!
今回はデイトラJavaコースWebアプリ開発編のDay3として「SpringBootでHelloWorld」について学習しましたので、紹介します。
Spring Bootとは
引用:Spring Boot
Spring Bootとは、Javaで開発されたアプリケーションを素早く簡単に構築するためのフレームワークです。設定の自動化、組み込みWebサーバ、豊富なツールなどを提供することで、開発者の生産性を大幅に向上させ、スムーズにプロジェクトを進めることができます。
Spring Bootの特徴について
Spring Bootの特徴について具体的に説明すると、以下のポイントが挙げられます。
1. Spring Frameworkの拡張
Spring Bootは、Spring Frameworkを基盤としています。Spring Frameworkは、Javaでエンタープライズアプリケーションを開発するための包括的なフレームワークです。Spring Frameworkは非常に強力で柔軟ですが、設定が複雑で初心者には難しい部分があります。Spring Bootはこの設定を簡略化し、すぐに使えるアプリケーションを素早く立ち上げることができるようにしています。
2. 自動設定
Spring Bootは多くの設定を自動で行ってくれます。例えば、データベースの接続やWebサーバの設定など、開発者が一から設定する必要がなく、必要な依存関係を追加するだけで自動的に設定されます。
3. 組み込みWebサーバ
Spring BootにはTomcat、Jetty、Undertowなどの組み込みWebサーバが含まれており、これによりアプリケーションを単一の実行可能なJarファイルとしてパッケージ化し、簡単にデプロイすることができます。その結果、サーバ設定を気にすることなく、すぐにアプリケーションを実行できます。
4. スタートプロジェクトの簡単な作成
Spring InitializrというWebベースのツールを使って、簡単にプロジェクトを作成できます。必要な依存関係を選択し、プロジェクトを生成するだけで、すぐに開発を開始できます。
5. 開発の生産性向上
Spring Bootは、開発者の生産性を向上させるために、多くの便利な機能を提供しています。例えば、開発中の変更を即座に反映するためのホットリロード機能や、テストの自動化ツールなどがあります。
6. 豊富なドキュメントとコミュニティサポート
Spring Bootには詳細なドキュメントが用意されており、初心者から上級者まで、幅広いレベルの開発者が学習や問題解決に役立てることができます。また、活発なコミュニティがあり、困ったときに質問できる場所が豊富にあります。
Community EditionでのSpring Bootプロジェクト作成について
IntelliJ の Community Edition(無料版)では、直接Spring Bootプロジェクトを作成することができないため、Spring Initializrを利用します。
引用:Spring Initializr
画像のとおり設定して、「GENERATE」ボタンを押すとプロジェクト用の圧縮ファイルができるのにゃ。解凍したファイルをIntelliJで読み込めばOKだにゃ!
課題「Spring Boot で HelloWorld を表示しよう」
//HelloWorldApplicationクラス
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class HelloWorldApplication {
public static void main(String[] args) {
SpringApplication.run(HelloWorldApplication.class, args);
}
}
//HelloWorldControllerクラス
package com.example.demo;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloWorldController {
@RequestMapping(value = "/", method = RequestMethod.GET)
public String helloWorld() {
return "HelloWorld";
}
}
- @SpringBootApplication…、Spring Bootアプリケーションのエントリーポイントを示すアノテーションです。
- @RestController…Spring MVCでRESTfulなWebサービスを作成するためのアノテーションです。このアノテーションをクラスにつけることで、そのクラスがRESTfulなWebサービスのコントローラーであることを示します。
- @RequestMapping…HTTPリクエストを特定のメソッドにマッピングするためのアノテーションです。
- value = “/”, method = RequestMethod.GET…「value」はエンドポイントのパスを指定します。「
"/"
」はルートパスを示します。「method」HTTPメソッドを指定します。このコードではRequestMethod.GETを使用して、HTTP GETリクエストを受け付けることを示しています。
ローカル上のサイトでHelloWorldが表示されたのにゃ!
Web制作コースで学習した内容と表示するまでの過程が異なっていて新鮮なのにゃ。
HTMLでなくともローカル上であればJavaでも表示できる、ということですね。
まとめ 課題は中級編Day8の内容と同じ
今回はSpringBootとは何か学習し、実際にSpringBootを用いてHelloWorldを表示しました。
課題内容は中級編Day8の内容と同じですが、今回は復習を兼ねて挑戦しました。
中級編挑戦時はChatGPTに色々質問しながら進めるなど苦戦していましたが、今回は特に苦戦することもなくスムーズにクリアできました。
4カ月前よりもプログラミングスキルが向上しているようで嬉しいです。
以上で今回の学習記録を終えます。
ここまでご覧いただきありがとうございました。
コメント