6. 6 Web フレームワーク品評会 Spring Boot 概要 2017/09/16
コンセプト (1)
●
スタンドアロン Java アプリケーション
●
Web アプリだけで無く、コマンドラインアプリも作れる
●
組む込みサーブレットコンテナ
●
java -jar app.jar で Web アプリが起動できる
●
war を Tomcat 等にデプロイすることもできる
●
starter POM
●
あとで説明します
7. 7 Web フレームワーク品評会 Spring Boot 概要 2017/09/16
コンセプト (2)
●
自動設定
●
ほとんど全ての設定にデフォルト値が提供される
●
production-ready な機能の提供
●
メトリクス、ヘルスチェック、外部設定
●
コード生成や XML 設定ファイルは不要
●
Spring Roo や Spring 2.x 時代の反省?
8. 8 Web フレームワーク品評会 Spring Boot 概要 2017/09/16
Spring Initializr
●
typo じゃないよ
●
Spring Boot 向けの雛形生成ツール
●
https://start.spring.io
9. 9 Web フレームワーク品評会 Spring Boot 概要 2017/09/16
ディレクトリ構成
アプリケーションメイン
静的ファイルディレクトリ
JUnit テストケース
設定ファイル
テンプレートファイルディレクトリ
Maven 定義ファイル
10. 10 Web フレームワーク品評会 Spring Boot 概要 2017/09/16
コントローラ (1)
●
spring-boot-starter-web
●
Spring MVC + Tomcat
●
spring-boot-starter-data-rest
●
Repository(DAO) から REST API を生成
●
コントローラ定義無しで CRUD 機能が作れちゃう
●
ページネーションやソート機能も有り
●
Spring Security によるアクセス制御も可能
11. 11 Web フレームワーク品評会 Spring Boot 概要 2017/09/16
コントローラ (2)
●
spring-boot-starter-websocket
●
spring-boot-starter-web-services
●
spring-boot-starter-webflux
●
Reactive web フレームワーク
●
Spring Boot 2.0 以降でサポート
●
現状は MVC と排他
12. 12 Web フレームワーク品評会 Spring Boot 概要 2017/09/16
Spring MVC のコントローラ例
@Controller
public class HelloWorldController {
@RequestMapping("/helloWorld")
@ResponseBody
public String helloWorld(Model model) {
return "helloWorld";
}
}
13. 13 Web フレームワーク品評会 Spring Boot 概要 2017/09/16
テンプレートエンジン
●
spring-boot-starter-freemarker
●
spring-boot-starter-groovy-templates
●
spring-boot-starter-thymeleaf
●
spring-boot-starter-mustache
●
JSP
14. 14 Web フレームワーク品評会 Spring Boot 概要 2017/09/16
RDB アクセス /ORM
●
spring-boot-starter-data-jpa
●
spring-boot-starter-jdbc
●
spring-boot-starter-jooq
●
mybatis-spring-boot-starter