EclipseでSpringBootプロジェクトを作成する方法

公開: 2021-05-27

Javaプログラミング言語は、単純なアプリケーションを構築するという点で、複雑すぎて面倒だとよく言われます。 ただし、Javaは、開発者がそれほど面倒なことなく堅牢なソフトウェアを作成できるようにする、非常に成熟したエコシステムを提供する安定したプラットフォームを提供します。

Spring Framework – Javaエコシステムに存在する多くの強力なフレームワークの1つ–には、Javaでのアプリケーションの開発とテストを簡素化するための構成モデルとプログラミングモデルのコレクションが含まれています。

この記事では、EclipseでSpringBootプロジェクトまたはアプリケーションを開発するときに役立つSTSIDE(Eclipse Spring Tool Suite)の便利な機能のいくつかについて説明します。 Eclipseを使用してSpringアプリケーションを構築する従来の方法とは対照的に、STSのさまざまな利点について説明します。

次に、アプリケーションをブートストラップする方法、アプリケーションを実行する方法、そして最終的には依存関係を追加する方法を見ていきます。 最後に、アプリケーションの引数を追加して、このチュートリアルを終了します。

目次

STSの主な機能

Spring Tool Suite(STSの略)は、シームレスなSpringBootプロジェクトおよびアプリケーションを作成するために特別にカスタマイズされたEclipseベースの開発環境です。

STSは、Springアプリケーションを実装、デバッグ、実行、およびデプロイするための、すぐに使用できる環境を開発者に提供します。 STSには、Pivo​​tal tc Server、Pivo​​tal Cloud Foundry、Git、Maven、およびAspectJの統合も含まれています。

Spring Tool Suiteは、最新のEclipseリリースの上に追加のレイヤーとして構築されたスイートです。

プロジェクト構成

STSは、すべての基本的なJavaプロジェクト構造を理解しています。 このツールは、構成ファイルを解析し、定義されたBean、注入された依存関係、使用された名前空間に関する詳細情報を表示し、特定のステレオタイプの概要を抽出します。

STS機能の概要

Eclipse STSは、プロジェクトの検証中にSpringアプリケーションのクイックフィックスを提供します。 たとえば、Spring Data JPAを使用している場合、EclipseIDEを使用してクエリメソッド名を検証できます。

Spring Tool Suiteは、さまざまなBeanメソッドとそれらが保持する関係のグラフィカルビューを簡単に理解できるようにします。 STSに付属しているさまざまなグラフィックエディタを詳しく調べたい場合は、メニューウィンドウ、表示ビュー、およびSpringでそれぞれ使用できるビューを確認できます。

STSは、Springのアプリケーションに限定されない追加機能も開発者に提供します。 機能の完全なリストはここで確認できます

Springアプリケーションの作成

簡単なアプリケーションをブートストラップすることから始めましょう。 STSがない場合、SpringアプリケーションはSpringInitializerWebサイトまたはSpringBootCLIを使用して作成できます。 これは、STSダッシュボードから[SpringStarterProjectの作成]をクリックすることでさらに簡略化できます。

[新しいSpringStarterプロジェクト]画面で、デフォルト設定を使用するか、プロジェクトに従って必要な調整を行ってから、次の画面に進みます。 そこで、[Web]を選択し、[完了]をクリックします。

これで、pom.xmlは次のようになります。

<親>

<groupId> org.springframework.boot </ groupId>

<artifactId> spring-boot-starter-parent </ ArtifactId>

<バージョン>2.4.0</バージョン>

<relativePath /> <!–リポジトリから親を検索–>

</ parent>

<プロパティ>

<project.build.sourceEncoding> UTF-8 </project.build.sourceEncoding>

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

</プロパティ>

<依存関係>

<依存関係>

<groupId> org.springframework.boot </ groupId>

<artifactId> spring-boot-starter-web </ ArtifactId>

</依存関係>

<依存関係>

<groupId> org.springframework.boot </ groupId>

<artifactId> spring-boot-starter-test </ ArtifactId>

<scope>テスト</scope>

</依存関係>

</依存関係>

Spring Bootの古いバージョンを実行している場合は、ここで最新バージョンを見つけてください

アプリケーションの実行

前述のアプリケーションは、プロジェクトを右クリックして[SpringBootAppとして実行]を選択するだけで起動できます。 STSがない場合は、次のコマンドを使用してCLIからアプリケーションを実行できます。

$ mvn spring-boot:run

デフォルトでは、Springアプリケーションはポート8080で実行されるTomcatで起動されます。この時点で、アプリケーションはポート8080で起動しますが、まだコードを実装していないため、タスクを実行しません。

ロギングとANSIコンソール

'run'コマンドを使用してIDEからプロジェクトを実行すると、コンソールが色分けされたログステートメントを出力することがわかります。 これらのステートメントをオフにしたい場合は、「構成の実行」に移動し、「「SpringBoot」タブで「ANSIコンソール出力を有効にする」というチェックボックスを無効にすることができます。

または、次のようにapplications.propertiesファイルにプロパティ値を設定して、ロギングステートメントを無効にすることもできます。

spring.output.ansi.enabled =NEVER

JPAクエリ名のチェック

場合によっては、データアクセス層の実装が面倒な作業になることがあります。 非常に単純なクエリを実現し、ページネーションを実行するには、多くの定型コードを記述する必要がある場合があります。 Spring Data JPAは、このようなデータアクセス層の実装をシームレスに促進することを目的としています。

開始するには、JPAの次の依存関係を以前に生成されたpom.xmlに追加します。

<依存関係>

<groupId> org.springframework.boot </ groupId>

<artifactId> spring-boot-starter-data-jpa </ ArtifactId>

</依存関係>

<依存関係>

<groupId> com.h2database </ groupId>

<artifactId> h2 </ ArtifactId>

</依存関係>

上記の宣言でバージョンが指定されていないことに気付いたかもしれません。 これは、依存関係がspring-boot-starter-parentによって管理されているためです。

JPAを機能させるには、プロジェクトのエンティティマネージャーとトランザクションマネージャーを適切に定義する必要があります。 ただし、Springを使用すると、これらの値が自動構成されます。 あなたの側からやらなければならないことは、実際のエンティティクラスを作成することだけです。

これらのエンティティは、コンテナによって作成されたエンティティマネージャによって管理されます。 Fooというエンティティクラスを作成しましょう。

@実在物

パブリッククラスFooはSerializable{を実装します

@Id

@GeneratedValue

プライベート整数ID;

プライベート文字列名。

//標準のゲッターとセッター

}

コンテナーは、構成パッケージのルートから@Entityアノテーションが付けられたすべてのクラスをスキャンします。

次に、FooエンティティのJPAリポジトリを作成しましょう。

パブリックインターフェイスFooRepositoryはJpaRepository<Foo、Integer>{を拡張します

public Foo findByNames(String name);

}

この段階で、IDEが次の例外を除いてこのクエリメソッドにフラグを立てていることにすでに気付いているかもしれません。

派生クエリが無効です! タイプFooのプロパティ名が見つかりません!

これは、JPAリポジトリのメソッド名の最後に誤って余分な「s」を書き込んだことが原因で発生します。 この例外を修正するには、余分なsを削除して、次のようにします。

public Foo findByName(String name);

ジャータイプ検索

Jar Type Searchは、STSの3.5.0バージョンで導入された機能です。 この機能は、クラスパスにまだ含まれていないクラスに対してコンテンツ支援の提案を提供します。 STSは、開発者がクラスパス上にない場合に、POMファイルに依存関係を追加するのに役立ちます。

たとえば、Fooエンティティクラスに行を追加しましょう。 これが正しく機能するためには、java.util.Listのインポートステートメントがすでに存在していることを確認してください。

ここで、次のようにGoogleGuavaを追加できます。

private List <String> types = Lists // ctrl + SPACEを使用して、コードを補完します

次に、IDEは、クラスパスに追加するいくつかの依存関係を提案します。 com.google.common.collectからこれらの依存関係を追加し、returnキーを押して、Guavaから依存関係を追加します。

Guava jarは、次のようにpom.xmlファイルに自動的に追加されます。

<依存関係>

<groupId> com.google.guava </ groupId>

<artifactId>グアバ</artifactId>

<バージョン>19.0</バージョン>

</依存関係>

アプリケーション引数の追加

Springフレームワークの最も強力な機能の1つは、YAMLファイルのプロパティで指定されたコマンドライン引数として、またはシステムプロパティとして、いくつかの方法でアプリケーションに渡すことができる外部構成のサポートです。 STSを使用して、アプリケーションの開始引数として構成オプションを追加する方法を見てみましょう。

これは、Tomcatを別のポートで開始するように構成することで示されています。

デフォルト(8080)以外のTomcatポートでSpringアプリケーションを実行するには、以下のコマンドを使用する必要があります。 次のコマンドでは、カスタムポートがコマンドライン引数として指定されています。

mvn spring-boot:run -Drun.arguments =” – server.port = 7070”

世界のトップ大学からオンラインでソフトウェア開発コース学びましょう。 エグゼクティブPGプログラム、高度な証明書プログラム、または修士プログラムを取得して、キャリアを早急に進めましょう。

結論

この記事では、STSでSpringプロジェクトとアプリケーションを実行する方法について説明しました。 ただし、これだけではありません。開発プロセス中に利用できる便利な機能は他にもたくさんあります。 このチュートリアルは、EclipseSTSでSpringBoot Projectの作成を開始するのに役立ちましたが、探索して実験することがたくさんあることを忘れないでください。

Java、フルスタックソフトウェア開発について詳しく知りたい場合は、upGrad&IIIT-Bのフルスタックソフトウェア開発のエグゼクティブPGプログラムをチェックしてください。これは、働く専門家向けに設計されており、500時間以上の厳格なトレーニングを9時間以上提供しています。プロジェクト、割り当て、IIIT-B卒業生のステータス、実践的な実践的なキャップストーンプロジェクト、トップ企業との仕事の支援。

スプリングブーツとは?

春の休止状態とは何ですか?

Spring hibernateは、エンタープライズJavaアプリケーションの開発に使用されるオープンソースフレームワークです。 Spring Frameworkは、Javaアプリケーションで最も重要なタスクを処理します。 これにより、開発者は副作用なしにコードを変更できます。 これにより、コードが読みやすくなり、アプリケーションのエラー処理が簡素化されます。 データアクセスとデータマッピングをサポートします。 Hibernateフレームワークは、オブジェクト指向プログラミング言語java用のjava-persistenceフレームワークです。 これは、Javaでリレーショナルデータを管理するための機能を提供します。 Hibernateは、Javaデータ抽象化レイヤー(jdo)、Javaリモートメソッド呼び出し(rmi)、およびJavaトランザクションインターフェイスをサポートします。

春の初期化とは何ですか?

Spring Initializrは、Springを使い始めるための便利なオンラインツールです。 それはあなたが必要とするものに基づいてプロジェクトを生成します。 単純なCRUDアプリケーションを探している場合でも、本格的なWebアプリケーションを探している場合でも、この小さなサイトですぐにコーディングを開始できます。 選択したテクノロジー(Java、Groovy、Grailsなど)をプロジェクトに投入すると、基本的なプロジェクト構造と依存関係が生成されます。 さらに依存関係を追加したり、必要に応じてプロジェクトをカスタマイズしたりできます。 Spring Initializrは、新しいSpringBootプロジェクトを簡単に開始できる非常に優れたツールです。 プロジェクトの構造と構成ファイルが生成され、それらをカスタマイズできます。 また、プロジェクトの基礎となるテクノロジーを選択できるため、自分で作業を行う必要がないというデメリットなしに、選択のメリットを得ることができます。