概要
Spring Frameworkについての勉強記録。
基本は初心者のためのSpring Framework入門を見ながら環境構築〜簡単なプロジェクトの作成を行っていく。
本記事では上記サイトを読んでいてわからないところや躓いたところを中心に書いていく。
環境
2019年5月15日現在の最新バージョンだと思う。
- macOS Mojave バージョン10.14.4
- Spring Framework 4.1.7.RELEASE(※最新ではない)
- Spring Tool Suite 4 バージョン4.2.1
- Apache Maven 3.6.1
- Java SE Development Kit 8u211
1. Springプロジェクトの作成
さっそく「Mavenによるプロジェクト作成」と書いてあるがMavenすらインストールしていないのでまずはApache Mavenをインストールする。
Apache Mavenのインストール
Apache Mavenのダウンロード
Apache Mavenから最新版のApache Mavenをダウンロードする。
Macなのでtar.gz形式のバイナリをダウンロード。
ダウンロードした圧縮ファイルを適当なディレクトリに展開する。
システムパスの設定
.bash_profile
にexport PATH=$PATH:(DirectoryName)/maven/bin
を追記。
バージョン確認
以下のコマンドを実行する。バージョンが表示されれば正常にインストール完了。
$ mvn -version
Apache Maven 3.6.1 (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; 2019-04-05T04:00:29+09:00)
Maven home: (DirectoryName)/maven
Java version: 1.8.0_211, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk1.8.0_211.jdk/Contents/Home/jre
Default locale: ja_JP, platform encoding: UTF-8
OS name: "mac os x", version: "10.14.4", arch: "x86_64", family: "mac"
Spring Frameworkのインストール
Apache MavenがインストールできたらmvnコマンドでSpring Frameworkをインストールする。
pom.xmlにSpringのコアライブラリを追記するところで、
なお、今回は必要最小限に内容を絞っているため、JUnitのライブラリをはずしてあります。その関係で、「src」フォルダ内にあるフォルダは削除しておいてください。(JUnitがないので、ユニットテストのソースコードファイルがビルドできなくなるため、残しておくとビルドエラーになります)
と書いてあるが削除してしまうと後の動作確認ができなくなるので削除しない。pom.xmlの記述も残しておく。
Springのコアライブラリがインストールでき動作確認をするところで
これで、必要なライブラリなどをダウンロードし、プロジェクトをビルドしてJarファイルを作成します。「target」フォルダというものが作成されるので、この中を見てみましょう。すると、「MySpringApp-0.0.1-SNAPSHOT.jar」というファイルが作成されているはずです。これがビルドされたJarファイルです。
では、これを実行してみましょう。コマンドラインから「cd target」を実行して「target」フォルダ内に移動し、以下のように実行をします。
java -classpath .;MySpringApp-0.0.1-SNAPSHOT.jar com.tuyano.libro.App
クラスパスにMySpringApp-0.0.1-SNAPSHOT.jarを指定して、com.tuyano.libro.Appを実行します。これで、Appクラスのmainメソッドが実行され、「Hello World!」とテキストが表示されます。
と書いてあるがjarファイル名が間違っている。正しいjarファイル名はMySpringApp-1.0-SNAPSHOT.jar
。
このjarファイル名はSpring Frameworkのインストール時に指定できる。
コマンドのjarファイル名の前の.;
も私の環境では不要だった(つけるとコマンドエラーになる)。
またpom.xmlにSpringのコアライブラリを追記するところでJUnitの記述とsrcフォルダを削除してしまうとこの動作確認が行えない。
STS4にプロジェクトをインポート
mvnコマンドで作成したプロジェクトをSTS4にインポートする。
STS4を起動するとJDKがない旨のエラーメッセージが表示されるのでJDKをインストールする。
JDKのインストール
Java SE Development Kitから最新版のJDKをダウンロード(要Oracleアカウント)。
ダウンロードしたdmgをマウントしパッケージを実行する。ウィザードに従って進めていきインストール完了。
STS4を起動しメニューから[File] - [Import]
を選択する。
Maven - Existing Maven Projects
を選択し次へ。
作成したMySpringAppを開くとProjects
にpom.xmlが表示されるので選択されていることを確認し完了。
2. Dependency Injection(DI)とBean
順番に作成・実行していく。特にわからないところや躓くようなところはなかった。
3. アノテーションによるDIの実装
コンポーネントの作成のところで、
これでコンポーネントは完成ですが、実はもう1つだけやっておくことがあります。Bean設定クラス(SampleBeanConfig)の宣言の手前に、以下のアノテーションを追加して下さい。
@ComponentScan
既に@Configurationアノテーションが付けられていますから、その上か下に追加すればいいでしょう。
と書いてあるがただ@ComponentScan
を追記しただけではエラーになる。
@ComponentScan
に加えてimport org.springframework.context.annotation.ComponentScan;
を追加する。
4.AOPの利用
アノテーションでAOP設定クラスを作成するところで、App.javaにインポートが足りないのでimport org.springframework.context.annotation.AnnotationConfigApplicationContext;
を追加する。
5. AspectJを利用する
Bean設定クラスを利用するところで、App.javaにインポートが足りないのでimport org.springframework.context.annotation.AnnotationConfigApplicationContext;
を追加する。
6. Spring Data JPAの利用
Bean設定クラスを利用するところで、App.javaにインポートが足りないのでimport org.springframework.context.annotation.AnnotationConfigApplicationContext;
を追加する。
7. CRUDの基本をマスターする
順番に作成・実行していく。特にわからないところや躓くようなところはなかった。
8. JpaRepositoryを利用する
順番に作成・実行していく。特にわからないところや躓くようなところはなかった。