LoginSignup
21
22

More than 5 years have passed since last update.

SpringBoot on IntelliJ IDEA Community version.

Last updated at Posted at 2017-04-29
1 / 2

この記事について

社内の勉強会でSpringBootを使うのですが、STSはちょっと重いので、IntelliJ IDEAを使おうと思っています。
経験の浅いメンバーも多いので、IDEのセットアップ方法などから比較的丹念に記述しようと思います。
使うライブラリなどの構成は、以下のとおりです。

  • SpringBoot 1.5.3
  • h2 database(そのうち他のDBに乗り換えるかも)
  • JPA
  • Thymeleaf
  • LOMBOK
  • JMS(当面出番なし)
  • SpringBatch(当面出番なし)

なお、1Entityのみ作成した状態のInitial commit版を下記にUPしてあります。
https://github.com/akiraabe/bookshelf/tree/tag-0.0.1

アプリの機能

ざっくり言うと書籍管理です。どちらかというと本自体を管理するというよりは本に関連したナレッジの蓄積とそのデータの活用というのをテーマにしています。(SpringBootでやるのは情報の管理までです)

IntelliJ IDEAのセットアップ

JDKはインストール済みという前提にします。また、Eclipseなどを多少利用している経験者を想定して記載します。

IDEAインストール

まずは、IDEAのインストールですが、ここは詳細は省略します。以下に本家のURLのみ記載しておきます。
https://www.jetbrains.com/idea/
Community版の方を選択してください。(Ultimateは有償です)

プロジェクトをVCS(Version Control System:今回はGitHub)から作成

状況によって起動後の画面が異なりますが既存プロジェクトがない場合は以下の画面が立ち上がります。
ここで、[Check out from Version Control] > [GitHub]を選択してください。
image.png

次に、GitHubのリポジトリのURLやローカルのプロジェクト作成先のPathを設定します。
※以下の画面はデフォルトのプロジェクトPathと異なっていますが特に深い意味はありません。
image.png

"Check outが完了したので、プロジェクトを開くか?"と聞いてきますので、[Yes]で応答してください。
image.png

IDEAを起動してプロジェクトの構成を展開した状態では、下の図のようになっていると思います。
image.png

ここで、いくつか設定を行ないます。

LOMBOKを使えるようにする

LOMBOKとは何か?についてはググってください(雑)。

LOMBOKのPluginをIDEAにインストールする

[File] > [Settings] > [Plugins]として、以下の画面にたどり着いてください。
※PluginはIDEのインストール時にあわせてインストールする方法もあります。

ここで、search画面にlombokと入力します。No Plugins found Search in repositories.というリンクが表示されるのでそれをクリックします。
そうすると、以下の画面からPluginをインストール出来ます。
image.png

インストールしたらIDEAの再起動を要求されるはずなので応じてください。

Annotation Processingを有効化する

[File] > [Settings] > [Build,Execution...] > [Compiler] > [Annotation Processors]として、以下の画面にたどり着いてください。
ここで、[Enable annotation processing]をチェックし、OKをクリックします。
image.png

Keyアサインを変更する(お好みで)

IDEAのKeyアサインはかなり独特なので、好みのアサインに変える方が多いそうです。私は慣れの問題でEclipseのキーアサインに変更しています。好みの問題ですが、Eclipseからの乗り換え組にはおすすめです。
image.png

ようやくBuild…

これで無事にBuildが出来ます。

IDEAの画面下部にある[Terminal]というボタンをクリックし、Terminalを立ち上げます。
以下のような画面になるはずです。
image.png

ここで、mvn packageと入力し、Buildします。
※mavenは事前にインストール必要と思います。
ここからダウンロードして、pathを通しておいてください。
https://maven.apache.org/

image.png

BuildがSuccessとなっていることを確認してください。エラーの際には色々調査が必要ですので、勉強会関係者の方は直接ご連絡ください。(その他の方はコメントくだされば、可能な範囲で対応しますが、ベストエフォートということでご了解ください)
image.png

SpringBoot Applicationの起動

SpringBootの特徴の一つに、jarを作ればWebアプリが実行できるというのがあります。
従来のWebアプリは、WebApplicationServer(Tomcatなど)や、RDBMSを別途起動し、Deployしてというのが通常であり、環境設定にかなり手間がかかっていました。
SpringBootのアプリケーションもWarを作成しDeployすることももちろん出来ますが、それよりもお手軽に、mainメソッドを持ったJavaApplicationをIDEから起動することで、Webアプリの実行が可能です。

実際にやってみたほうがわかりやすいですね。
トップパッケージの位置に、プロジェクト名+ApplicationというJavaファイルがありますので、これを実行します。(今回は、BookshelfApplication.java)
image.png

以下が起動に成功した状態です。
ポイントとして、コンソール上部にCreate Table文が見えます。これはJPAに与えるパラメータ設定で、起動時にcreateテーブルをする方法をとっているためです。
image.png

アクセスしてみる

http://localhost:8080/book
で書籍一覧にアクセス出来ます。
SpringSecurityを組み込んであるので、とりあえず現時点ではBasic認証を求められます。
その際には、user=user, password=passwordとして入力してください。(意識の低い設定ですが、設定ファイルをGitHubにさらしている関係上あえて)

現時点では非常に地味ですが、これから随時拡張していきましょう!
image.png

とりあえず以上です。

PostgreSQLのインストールと設定に関する追記(2017/6/3)

データベースをh2からPostgreSQLに変更したのでインストールと必要な設定について最低限記述します。

PostgreSQLのインストール

本家のサイトから安定版の最新をダウンロードしインストールしてください。
https://www.postgresql.org/

インストールはほぼデフォルトで構いません。
インストール中に、postresというsuperユーザのpasswordを設定しますので忘れないようにしましょう。

今回のアプリ用に、ロールとデータベースを生成します。

sql shell(psql)を立ち上げて以下のコマンドを入力します。

  • role の作成
CREATE ROLE bookshelf WITH LOGIN PASSWORD 'bookshelf';
  • db作成
CREATE DATABASE bookshelf OWNER bookshelf;

なお、CREATE TABLEなどは、
bookshelf/src/main/resources/schema.sql
に記載してあり、SpringBootの起動時に実行されるので、ここでは考慮不要です。

21
22
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
22