スプリングブートのチュートリアル
「Spring Bootチュートリアルへようこそ。Spring Bootは、Pivotalチーム(Springチーム)からの完全に新しいプロジェクトです。既存のSpring Frameworkの上に開発されたフレームワークです。」
スプリングブートチュートリアル
Spring Bootは、いくつかの煩雑な開発手順や雛形コードや設定を避けることで、Java開発を非常に簡単にするために完全に新しい開発モデルを使用しています。
春のブートとは何ですか?
Spring Bootは、「The Spring Team」によって開発されたフレームワークであり、新しいSpringアプリケーションのブートストラップと開発を容易にするためのものです。Springプロジェクトを素早くスタートさせるために、コードと注釈の構成に対するデフォルト値を提供します。本フレームワークは、「意見に基づくデフォルト設定」のアプローチを採用しており、冗長なコードと設定を減らして、開発、単体テスト、結合テストのプロセスを改善することを目指しています。
Spring Bootではありませんとはどういう意味ですか?
スプリングブートフレームワークは、スプリングチームによってゼロから実装されたのではなく、既存のスプリングフレームワーク(Spring IO Platform)の上に実装されています。このフレームワークは新しい問題を解決するために使用されるのではなく、スプリングフレームワークと同様の問題を解決するために使用されます。
なぜSpring Bootを使用するのですか?
- To ease the Java-based applications Development, Unit Test and Integration Test Process.
- To reduce Development, Unit Test and Integration Test time by providing some defaults.
- To increase Productivity.
この段階では、「意見があるデフォルト設定」というアプローチについて心配しないでください。私たちは後続の投稿で詳しく説明し、いくつかの例を示しますので。
Spring Bootの利点は次のとおりです:
- It is very easy to develop Spring Based applications with Java or Groovy.
- It reduces lots of development time and increases productivity.
- It avoids writing lots of boilerplate Code, Annotations and XML Configuration.
- It is very easy to integrate Spring Boot Application with its Spring Ecosystem like Spring JDBC, Spring ORM, Spring Data, Spring Security etc.
- It follows “Opinionated Defaults Configuration” Approach to reduce Developer effort
- It provides Embedded HTTP servers like Tomcat, Jetty etc. to develop and test our web applications very easily.
- It provides CLI (Command Line Interface) tool to develop and test Spring Boot(Java or Groovy) Applications from command prompt very easily and quickly.
- It provides lots of plugins to develop and test Spring Boot Applications very easily using Build Tools like Maven and Gradle
- It provides lots of plugins to work with embedded and in-memory Databases very easily.
シンプルに言うと、Spring Bootとは、Spring Frameworkに組み込まれた一部の組み込みHTTPサーバー(Tomcat / Jettyなど)とXMLまたは注釈の設定を持つものです。ここで、マイナスの意味はXML設定を書く必要がなく、わずかな注釈のみです。
Spring Bootの主な目標:
Spring Bootフレームワークの主な目標は、開発、ユニットテスト、統合テストの時間を短縮し、既存のSpringフレームワークと比べて本番用のWebアプリケーションの開発を簡単に行うことです。既存のSpringフレームワークでは時間がかかる事が多いのに対して、Spring Bootフレームワークは非常に簡単に行うことができます。
- To avoid XML Configuration completely
- To avoid defining more Annotation Configuration(It combined some existing Spring Framework Annotations to a simple and single Annotation)
- To avoid writing lots of import statements
- To provide some defaults to quick start new projects within no time.
- To provide Opinionated Development approach.
これらを提供し、または回避することで、Spring Boot Frameworkは開発時間を短縮し、開発者の努力を減らし、生産性を向上させる。
Spring Bootの制限/欠点
スプリングブートフレームワークには1つの制限があります。それは既存のまたはレガシーのスプリングフレームワークプロジェクトをスプリングブートアプリケーションに変換するプロセスがやや時間がかかることですが、あらゆる種類のプロジェクトをスプリングブートアプリケーションに変換することができます。スプリングブートを使用して新しいプロジェクト/グリーンフィールドプロジェクトを簡単に作成することができます。スプリングブートアプリケーションを作成するための意見形成アプローチを開始するため、スプリングチーム(ピボタルチーム)は以下の3つのアプローチを提供しています。
- Using Spring Boot CLI Tool
- Using Spring STS IDE
- Using Spring Initializr Website
私たちは、今後の投稿で詳細に一つずつ議論し、いくつかの良い例を用いて説明します。Springの始動ウェブサイトは、https://start.spring.io/で見つけることができます。Spring Bootを使用して、Springベースのアプリケーションの2つのバリエーションを開発することができます。
- Java-Based Applications
- Groovy Applications
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フレームワークの学習を楽しんでください!