【Java】『SpringBootに入門する為の助走本』のハンズオン01
【結論】
- 『SpringBootに入門する為の助走本(以降、助走本と省略)』ベースでハンズオンした内容の備忘録です。
『助走本』の不足情報や、つまづきポイントをまとめています。
因みに、 『SpringBootに入門する為の助走本』などという本は存在しません。
Qittaに投稿された、SpringBoot初心者向けのチュートリアル的な位置付けの良記事です。
【目次】
Springとは?
SpringとはJavaで利用可能な汎用フレームワークです。
Webアプリケーション開発専用のフレームワークというわけではなく、Springの構成要素の一部として、Webアプリケーション開発のためのフレームワークがあります。
SpringはDI(Dependency Injection、依存性の注入)という概念をベースにし、更にAOP(Aspect Oriented Programming、アスペクト指向プログラミング)という概念を実行することで、Springは「さまざな分野における高度なフレームワークを実装する際の基盤」として機能するようになってききます。
DIとかAOPとかは「ちょっと、何っているかわからないです。」状態です。
が、要するに
変更に強くて
コードの可読性が高くて
再利用性が高い
ソースコードをJavaで書くための仕組みを提供してくれているようです。
Spring のザックリした機能概要は以下みたいです。
【Springの全体像】
引用元:『Spring解体新書』
上図のようにDIやAOPをベースにセキュリティやDataAccess専用のSpringフレームワークが用意されています。
Webアプリ開発を行うにはSpringMVCを使用するのですが、当然セキュリティやDataAccessの実装も必要になるため単体では完結せず、色々と項目を設定しないといけないので面倒です。
面倒な設定をいい感じに行なってくれたり、設定ファイルを1つにまとめたりと、色々よしなにやってくれるのがSpringBootです。よって、基本的にはSpringでWebアプリを開発する際はSpringBootを利用します。
どの開発環境を使うか?
Springフレームワークを使ってJavaを開発するにあたり、開発環境の選択肢として次の3つを検討しました。
IntelliJ IDEAを使う。
JetBrains社が開発している統合開発環境です。Java向けだけでなく、Python,Ruby,PHPと各言語に合わせた統合開発環境を用意しています。
本来は有料なのですが、JavaとPythonに関してはコミュニティー版があり、一部の機能を無料かつ商用利用もできます。
有料版でも90日のお試し期間があります。
最初はこれにしようと考えたのですが、無料版だとSpringが使えない、かつ職場で使えるか不明だったので、断念しました。
STS(SpringToolSuite)を使う。
Spring関連の設定を行ってくれているeclipseです。eclipseベースなので無料で使え、かつインストールするだけでいいので、今回はこちらを使うことします。
STSのインストール
(Macへのインストール前提で説明します。試していないため確証はないですが、Windwsの場合も.app
を.exe
に読み替えるだけで、基本は同じはずです。)
【手順】
『SpringBootに入門する為の助走本』に書いてあるため省略します。
STSの日本語化対応
デフォルトは英語表記のため日本語に変換します。
日本語変換するには 、PleiadesなるJetBrains社が提供しているソフトを使います。
【手順】
以下サイトを下にスクロールするとあるリンクから、PC環境に適したものをダウンロードしてきます。
ダウンロードした.zipファイルを解凍し、setup.appを実行すると次の画面が表示されます。選択ボタンをクリックして、日本語化したいアプリ(Macの場合はSpringToolSuite4.app)を選択し、日本語化するボタンをクリックします。
これで日本語化は完了です。STSが起動中の場合は再起動すれば日本語表示になります。
参考情報
EclipseではじめるJavaフレームワーク入門 第5版 Maven/Gradle対応
→図書館で借りた本。Springに関する説明の触り部分だけ読んでお役御免です。
→kindle本で500円。SpringBoot4でなく3ベースで書かれているので、若干情報が古いです😭
https://ryoutaku-jo.hatenablog.com/
→ブログ投稿のモチベーションを維持するための情報源です。
最後に
Qittaで良記事見つけたーーーーーーーーーーーーーーーーーhttps://t.co/MiLWrfMmo9
— 98hira (@_98hira) 2019年5月21日