ソースのダウンロード
$ git clone https://github.com/miyabayt/spring-boot-doma2-sample.git- Lombok pluginをインストールする。
- Settings > Build, Excecution, Deployment > Compiler > Annotation Processor >
Enable Annotation ProcessingをONにする。
- Settings > Build, Excecution, Deployment > Compiler > Annotation Processor >
- Eclipse Code Formatterをインストールする。
- Settings > Other Settings > Eclipse Code Formatter >
Use the Eclipse code formatterをONにする。Eclipse Java Formatter config fileにeclipse-formatter.xmlを指定する。
- Settings > Other Settings > Eclipse Code Formatter >
- bootRunを実行している場合でもビルドされるようにする。
- Intellij > Ctrl+Shift+A > type Registry... >
compiler.automake.allow.when.app.runningをONにする。
- Intellij > Ctrl+Shift+A > type Registry... >
- Windowsの場合は、コンソール出力が文字化けするため、
C:¥Program Files¥JetBrains¥IntelliJ Idea xx.x.x¥binの中にあるidea64.exe.vmoptionsファイルに-Dfile.encoding=UTF-8を追記する。 - ブラウザにLiveReload機能拡張をインストールする。
http://livereload.com/extensions/から各ブラウザの機能拡張をダウンロードする。
- Settings > General >
Expose daemon on tcp://...をONにする。
- デフォルトで
unix:///var/run/docker.sockに接続できる。 - TCPでAPIを利用したい場合は、下記を実施する。
$ brew install socat
$ socat -4 TCP-LISTEN:2375,fork UNIX-CONNECT:/var/run/docker.sock &- 後述の
Dockerの起動の手順を実施する。
MySQLなどのサーバーを立ち上げる。
$ cd /path/to/spring-boot-doma2-sample
$ ./gradlew composeUpapplication-development.ymlを編集する。spring.datasource.urlの127.0.0.1:3306を192.168.99.100:3306に変更する。
Docker CLIでdocker-composeを実行する。
$ cd /path/to/spring-boot-doma2-sample/docker
$ docker-compose upメール送信のテストのためFakeSMTPを立ち上げる。
$ cd /path/to/spring-boot-doma2-sample
$ ./gradlew startFakeSmtpServer$ # admin application
$ cd /path/to/spring-boot-doma2-sample
$ ./gradlew :sample-web-admin:bootRun$ # front application
$ cd /path/to/spring-boot-doma2-sample
$ ./gradlew :sample-web-front:bootRun$ # 担当者情報取り込みバッチを起動する
$ cd /path/to/spring-boot-doma2-sample
$ ./gradlew :sample-batch:bootRun -Pargs="--job=importStaffJob"テストユーザー test@sample.com / passw0rd
| 接続先 | URL |
|---|---|
| 管理側画面 | http://localhost:18081/admin |
| 管理側API | http://localhost:18081/admin/api/v1/users.json |
| フロント側 | http://localhost:18080/ |
# Windows10、MacOSXの場合
mysql -h 127.0.0.1 -P 3306 -uroot -ppassw0rd sample
# Docker Toolboxの場合
mysql -h 192.168.99.100 -P 3306 -uroot -ppassw0rd sample実行方法
| テスト対象 | 実行方法 |
|---|---|
| 管理側画面 | gradlew :it/sample-web-admin:test |
| フロント側 | gradlew :it/sample-web-front:test |
※ IntelliJから起動する場合は他のテストと同様にテストクラスを選択して実行してください
CIなどで結合テストを行わない場合は以下のようにして対象から外します
$ ./gradlew clean test --info -x :it/sample-web-admin:test -x :it/sample-web-front:test$ cd /path/to/spring-boot-doma2-sample
$ ./gradlew codegen -PsubSystem=system -Pfunc=client -PfuncStr=取引先 [-Ptarget=dao|dto|repository|service|controller|html]自動テスト実行時に以下のように表示されて実行できない場合があります
Command Line is too Long. Shorten command line for your_test or also for JUnit default configuration.
その場合は以下を試みましょう(参考)
以下のファイルをエディタで開く
/path/to/spring-boot-doma2-sample/.idea/workspace.xml
以下を
<property name="dynamic.classpath" value="true" />以下のタグの中に追加する
<component name="PropertiesComponent">
.
.
.
</component>| プロジェクト | 概要 |
|---|---|
| Lombok Project | 定型的なコードを書かなくてもよくする |
| Springframework | Spring Framework |
| Spring Security | セキュリティ対策、認証・認可のフレームワーク |
| Doma2 | O/Rマッパー |
| spring-boot-doma2 | Doma2とSpring Bootを連携する |
| Flyway | DBマイグレーションツール |
| Thymeleaf | テンプレートエンジン |
| Thymeleaf Layout Dialect | テンプレートをレイアウト化する |
| WebJars | jQueryなどのクライアント側ライブラリをJARとして組み込む |
| ModelMapper | Beanマッピングライブラリ |
| Ehcache | キャッシュライブラリ |
| Spock | テストフレームワーク |
| Mockito | モッキングフレームワーク |