Spring Bootチュートリアル

Spring Bootチュートリアルへようこそ。Spring Bootは、Pivotal Team(Spring Team)によって完全に新しいプロジェクトとして開発されたものです。既存のSpring Frameworkの上に開発されたフレームワークです。

Spring Bootチュートリアル

Spring Bootは、一部の煩雑な開発手順や雛型コードと設定を回避することで、Java開発を非常に簡単にするために完全に新しい開発モデルを使用しています。

Spring Bootとは何ですか?

Spring Bootは、新しいSpringアプリケーションのブートストラップと開発を容易にするための”The Spring Team”のフレームワークです。コードと注釈の設定のデフォルトを提供し、短時間で新しいSpringプロジェクトを素早く開始することができます。開発、ユニットテスト、統合テストのプロセスを改善するために、”オピニオンのあるデフォルトの設定”アプローチを採用しています。

Spring Bootではないものは何ですか?

Spring Bootフレームワークは、Springチームがゼロから実装したのではなく、既存のSpring Framework(Spring IO Platform)の上に実装されています。新しい問題を解決するために使用されるのではなく、Spring Frameworkと同じ問題を解決するために使用されます。

なぜSpring Bootを使用するのですか?

  • Javaベースのアプリケーションの開発、ユニットテスト、統合テストプロセスを簡単にするためです。
  • いくつかのデフォルトを提供することで、開発、ユニットテスト、統合テストの時間を短縮します。
  • 生産性を向上させるためです。

この段階では、「意見の一致したデフォルト設定」のアプローチについて心配しないでください。後の投稿で具体例を使って詳しく説明します。

Spring Bootの利点:

  • JavaまたはGroovyを使用してSpringベースのアプリケーションを開発するのが非常に簡単です。
  • 開発時間を大幅に短縮し、生産性を向上させます。
  • 大量のボイラープレートコード、注釈、XML設定の記述を回避します。
  • Spring BootアプリケーションをSpring JDBC、Spring ORM、Spring Data、Spring SecurityなどのSpringエコシステムと簡単に統合できます。
  • 開発者の労力を減らすために、「意見の一致したデフォルト設定」のアプローチに従います。
  • それはTomcat、Jettyなどの組み込みHTTPサーバーを提供し、ウェブアプリケーションの開発とテストを非常に簡単に行うことができます。
  • また、CLI(コマンドラインインターフェイス)ツールを提供し、コマンドプロンプトからSpring Boot(JavaまたはGroovy)アプリケーションの開発とテストを非常に簡単かつ迅速に行うことができます。
  • 多くのプラグインを提供し、MavenやGradleなどのビルドツールを使用してSpring Bootアプリケーションの開発とテストを非常に簡単に行うことができます。
  • 埋め込みおよびインメモリデータベースと連携するための多くのプラグインを提供します。

単純な言葉で言うと、Spring Bootとは、つまりSpring Bootは既存のSpring Framework + 一部の組み込みHTTPサーバー(Tomcat/Jettyなど) – XMLまたは注釈構成です。ここでのマイナスは、XML構成を書く必要がなく、わずかな注釈だけで済むことを意味します。

Spring Bootの主な目標:

Spring Bootフレームワークの主な目標は、既存のSpring Frameworkよりも開発、ユニットテスト、統合テストの時間を短縮し、本番用のウェブアプリケーションの開発を容易にすることです。これにより、より多くの時間がかかる既存のSpring Frameworkと比較して、非常に簡単に準備できます。

  • 完全にXML構成を回避するために
  • より多くのアノテーション設定を定義しないようにするため(それは既存のSpring Frameworkのアノテーションを組み合わせて単純で単一のアノテーションに統合されます)
  • 多くのimport文を書かないようにするため
  • すぐに新しいプロジェクトを開始するためのいくつかのデフォルトを提供します。
  • 意見に基づいた開発アプローチを提供します。

これらの機能の提供または回避により、Spring Bootフレームワークは開発時間を短縮し、開発者の労力を減らし、生産性を向上させます。

Spring Bootの制限/欠点:

Spring Bootフレームワークには1つの制限があります。既存のまたはレガシーなSpring FrameworkプロジェクトをSpring Bootアプリケーションに変換するプロセスは、いくらか時間がかかりますが、すべての種類のプロジェクトをSpring Bootアプリケーションに変換することができます。Spring Bootを使用して新しい/グリーンフィールドプロジェクトを作成するのは非常に簡単です。Spring Bootアプリケーションを作成するための意見に基づいたアプローチを開始するには、Springチーム(Pivotalチーム)が以下の3つのアプローチを提供しています。

  • Spring Boot CLIツールを使用する
  • Spring STS IDEを使用する
  • Spring Initializrウェブサイトを使用する

これらについては、今後の投稿で詳細に説明し、いくつかの良い例を示します。Spring Initializrウェブサイトは次の場所で見つけることができます:https://start.spring.io/ Spring Bootを使用して2つの種類のSpringベースのアプリケーションを開発できます。

  • Javaベースのアプリケーション
  • グルービーアプリケーション

Spring BootのGroovyアプリケーションを開発するためには、Spring Boot CLIやSpring STS IDE、またはSpring Initializrウェブサイトを使用することができます。しかし、Spring BootのJavaアプリケーションを開発するためには、Spring STS IDEやSpring Initializrウェブサイトを使用することができます。それにも関わらず、GroovyはJava言語に非常に似たJVM言語です。GroovyとJavaを1つのプロジェクトに組み合わせることができます。Javaファイルと同様に、Groovyファイルも最終的には*.classファイルにコンパイルされるからです。*.groovyおよび*.javaファイルは、どちらも*.classファイル(同じバイトコード形式)に変換されます。

Spring Bootフレームワークのプログラミングモデルは、Groovyプログラミングモデルに触発されています。Spring Bootは内部的にいくつかのGroovyベースの技術とツールを使用してデフォルトのインポートと設定を提供しています。Spring Bootフレームワークはまた、既存のSpring Frameworkのアノテーションをいくつかのシンプルなまたは単一のアノテーションに統合しています。次の投稿では、それらのアノテーションを1つずつ実際の例とともに探っていきます。Spring Bootフレームワークは、Spring-Javaベースのアプリケーションプログラミングモデルを新しいプログラミングモデルに劇的に変更します。現時点では、Spring Bootは初期段階にありますが、将来はすべてSpring Bootに関連しています。Spring Bootフレームワークの学習を楽しんでください!

Source:
https://www.digitalocean.com/community/tutorials/spring-boot-tutorial