SlideShare une entreprise Scribd logo
1  sur  17
Télécharger pour lire hors ligne
Spring Boot 概要
afnf (@af_not_found)
2017/09/16 Web フレームワーク品評会
2 Web フレームワーク品評会    Spring Boot 概要 2017/09/16
Spring Boot とは
●
. みんな大好き Java のフレームワーク
●
Groovy/Kotlin も OK
●
Github star 数 : 15,925 (2017/9/15)
●
2014/4/3 に 1.0.0 リリース
●
53 回のリリースを経て現在 1.5.7
●
開発元は Dell EMC 傘下
●
Dell EMC → Pivotal → SpringSource
3 Web フレームワーク品評会    Spring Boot 概要 2017/09/16
Spring Boot に至るまで
●
1999 ~ Servlet/JSP
●
2001 ~ Apache Struts 1.x
●
2005 ~ Spring MVC
●
2009 ~ Play Framework
●
2011 ~ Dropwizard
●
2014 ~ Spring Boot
4 Web フレームワーク品評会    Spring Boot 概要 2017/09/16
Google Trend
5 Web フレームワーク品評会    Spring Boot 概要 2017/09/16
Google Trend
6 Web フレームワーク品評会    Spring Boot 概要 2017/09/16
コンセプト (1)
●
スタンドアロン Java アプリケーション
●
Web アプリだけで無く、コマンドラインアプリも作れる
●
組む込みサーブレットコンテナ
●
java -jar app.jar で Web アプリが起動できる
●
war を Tomcat 等にデプロイすることもできる
●
starter POM
●
あとで説明します
7 Web フレームワーク品評会    Spring Boot 概要 2017/09/16
コンセプト (2)
●
自動設定
●
ほとんど全ての設定にデフォルト値が提供される
●
production-ready な機能の提供
●
メトリクス、ヘルスチェック、外部設定
●
コード生成や XML 設定ファイルは不要
●
Spring Roo や Spring 2.x 時代の反省?
8 Web フレームワーク品評会    Spring Boot 概要 2017/09/16
Spring Initializr
●
typo じゃないよ
●
Spring Boot 向けの雛形生成ツール
●
https://start.spring.io
9 Web フレームワーク品評会    Spring Boot 概要 2017/09/16
ディレクトリ構成
アプリケーションメイン
静的ファイルディレクトリ
JUnit テストケース
設定ファイル
テンプレートファイルディレクトリ
Maven 定義ファイル
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 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 Web フレームワーク品評会    Spring Boot 概要 2017/09/16
Spring MVC のコントローラ例
@Controller
public class HelloWorldController {
@RequestMapping("/helloWorld")
@ResponseBody
public String helloWorld(Model model) {
return "helloWorld";
}
}
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 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
15 Web フレームワーク品評会    Spring Boot 概要 2017/09/16
その他の starter
●
Spring Security ( 認許・認可 )
●
NoSQL 関連
●
クラウド関連
●
DevTools ( 開発用ツール )
●
Actuator ( メトリクス、ヘルスチェック )
16 Web フレームワーク品評会    Spring Boot 概要 2017/09/16
デプロイと起動
●
ビルドして jar/war ファイルを作成
●
ライブラリ等が1つのファイルにパッケージングされる
●
実態はただの zip ファイル
●
executable jar 形式
●
java -jar app.jar -Dspring.profiles.active=production
●
fully executable jar 形式
●
init.d や systemd にそのまま登録可能
●
jar の先頭に bash スクリプトが埋め込まれている
17 Web フレームワーク品評会    Spring Boot 概要 2017/09/16
まとめ
●
後発フレームワークなので良いとこ取り
●
Java なら Spring Boot 使っとけ(個人の意見です)

Contenu connexe

Tendances

ASP.NET 新時代に向けて ~ ASP.NET 5 / Visual Studio 2015 基礎解説
ASP.NET 新時代に向けて ~ ASP.NET 5 / Visual Studio 2015 基礎解説ASP.NET 新時代に向けて ~ ASP.NET 5 / Visual Studio 2015 基礎解説
ASP.NET 新時代に向けて ~ ASP.NET 5 / Visual Studio 2015 基礎解説
Akira Inoue
 
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考えるNetラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
david9142
 
Netラボ2012年3月勉強会ライトニングトーク
Netラボ2012年3月勉強会ライトニングトークNetラボ2012年3月勉強会ライトニングトーク
Netラボ2012年3月勉強会ライトニングトーク
david9142
 
2010年インストールマニアックス ~Javaアプリ編~
2010年インストールマニアックス ~Javaアプリ編~2010年インストールマニアックス ~Javaアプリ編~
2010年インストールマニアックス ~Javaアプリ編~
normalian
 

Tendances (20)

VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発
 
ASP.NET 新時代に向けて ~ ASP.NET 5 / Visual Studio 2015 基礎解説
ASP.NET 新時代に向けて ~ ASP.NET 5 / Visual Studio 2015 基礎解説ASP.NET 新時代に向けて ~ ASP.NET 5 / Visual Studio 2015 基礎解説
ASP.NET 新時代に向けて ~ ASP.NET 5 / Visual Studio 2015 基礎解説
 
Getting Started .NET Core
Getting Started .NET CoreGetting Started .NET Core
Getting Started .NET Core
 
20141129-dotNet2015
20141129-dotNet201520141129-dotNet2015
20141129-dotNet2015
 
[MW01] ご注文は Linux + Docker ですか? Windows だけじゃない App Service を使い切る
[MW01] ご注文は Linux + Docker ですか? Windows だけじゃない App Service を使い切る[MW01] ご注文は Linux + Docker ですか? Windows だけじゃない App Service を使い切る
[MW01] ご注文は Linux + Docker ですか? Windows だけじゃない App Service を使い切る
 
Falconjsの始め方 (share)
Falconjsの始め方 (share)Falconjsの始め方 (share)
Falconjsの始め方 (share)
 
Zabbixの分散構築~ConoHa VPSでのzabbix server構築~
Zabbixの分散構築~ConoHa VPSでのzabbix server構築~Zabbixの分散構築~ConoHa VPSでのzabbix server構築~
Zabbixの分散構築~ConoHa VPSでのzabbix server構築~
 
About .Net vNext
About .Net vNextAbout .Net vNext
About .Net vNext
 
Reactテストに役立つ実装の工夫
Reactテストに役立つ実装の工夫Reactテストに役立つ実装の工夫
Reactテストに役立つ実装の工夫
 
Riot + generator で始める新しいデータバインディング
Riot + generator で始める新しいデータバインディングRiot + generator で始める新しいデータバインディング
Riot + generator で始める新しいデータバインディング
 
120315 cloud founry_java_ironfoundry
120315 cloud founry_java_ironfoundry120315 cloud founry_java_ironfoundry
120315 cloud founry_java_ironfoundry
 
gulp + sass で目指せ倍速コーディング(東区フロントエンド勉強会 2015年 第1回) 環境準備編
gulp + sass で目指せ倍速コーディング(東区フロントエンド勉強会 2015年 第1回) 環境準備編gulp + sass で目指せ倍速コーディング(東区フロントエンド勉強会 2015年 第1回) 環境準備編
gulp + sass で目指せ倍速コーディング(東区フロントエンド勉強会 2015年 第1回) 環境準備編
 
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考えるNetラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
 
Netラボ2012年3月勉強会ライトニングトーク
Netラボ2012年3月勉強会ライトニングトークNetラボ2012年3月勉強会ライトニングトーク
Netラボ2012年3月勉強会ライトニングトーク
 
イケてる技術で品質を担保しつつスピード感のある開発を実現する冴えたやり方
イケてる技術で品質を担保しつつスピード感のある開発を実現する冴えたやり方イケてる技術で品質を担保しつつスピード感のある開発を実現する冴えたやり方
イケてる技術で品質を担保しつつスピード感のある開発を実現する冴えたやり方
 
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ
 
Cocoa勉強会#63-Xcode Server〜みんなで使ってみる
Cocoa勉強会#63-Xcode Server〜みんなで使ってみるCocoa勉強会#63-Xcode Server〜みんなで使ってみる
Cocoa勉強会#63-Xcode Server〜みんなで使ってみる
 
2010年インストールマニアックス ~Javaアプリ編~
2010年インストールマニアックス ~Javaアプリ編~2010年インストールマニアックス ~Javaアプリ編~
2010年インストールマニアックス ~Javaアプリ編~
 
第9回rest勉強会 ダウンロード・アップロード編
第9回rest勉強会 ダウンロード・アップロード編第9回rest勉強会 ダウンロード・アップロード編
第9回rest勉強会 ダウンロード・アップロード編
 
バージョン管理#01 -Subversion編-
バージョン管理#01 -Subversion編-バージョン管理#01 -Subversion編-
バージョン管理#01 -Subversion編-
 

Similaire à Spring Boot概要

VSUGDAY2012 - ASP.NET MVC 4 Deveoper Preview による モバイルWEBアプリケーション開発
VSUGDAY2012 - ASP.NET MVC 4 Deveoper Preview による モバイルWEBアプリケーション開発VSUGDAY2012 - ASP.NET MVC 4 Deveoper Preview による モバイルWEBアプリケーション開発
VSUGDAY2012 - ASP.NET MVC 4 Deveoper Preview による モバイルWEBアプリケーション開発
tomotoshi
 
Vsug day 2010 summer windows azure でやってみよう
Vsug day 2010 summer windows azure でやってみようVsug day 2010 summer windows azure でやってみよう
Vsug day 2010 summer windows azure でやってみよう
mizusawa
 
TDC20111031_Groovy_Geb
TDC20111031_Groovy_GebTDC20111031_Groovy_Geb
TDC20111031_Groovy_Geb
Nobuhiro Sue
 
Webサーバの基礎知識【編集済み】
Webサーバの基礎知識【編集済み】Webサーバの基礎知識【編集済み】
Webサーバの基礎知識【編集済み】
Kikunaga Taishi
 

Similaire à Spring Boot概要 (20)

VSUGDAY2012 - ASP.NET MVC 4 Deveoper Preview による モバイルWEBアプリケーション開発
VSUGDAY2012 - ASP.NET MVC 4 Deveoper Preview による モバイルWEBアプリケーション開発VSUGDAY2012 - ASP.NET MVC 4 Deveoper Preview による モバイルWEBアプリケーション開発
VSUGDAY2012 - ASP.NET MVC 4 Deveoper Preview による モバイルWEBアプリケーション開発
 
SpringBoot開発の基本
SpringBoot開発の基本SpringBoot開発の基本
SpringBoot開発の基本
 
Mvc conf session_5_isami
Mvc conf session_5_isamiMvc conf session_5_isami
Mvc conf session_5_isami
 
110409 slintky lt
110409 slintky lt110409 slintky lt
110409 slintky lt
 
Mvc conf session_1_osada
Mvc conf session_1_osadaMvc conf session_1_osada
Mvc conf session_1_osada
 
SpringBootの研修本で学んだこと
SpringBootの研修本で学んだことSpringBootの研修本で学んだこと
SpringBootの研修本で学んだこと
 
~初心者がこれから Web アプリの開発をするために~
~初心者がこれから Web アプリの開発をするために~~初心者がこれから Web アプリの開発をするために~
~初心者がこれから Web アプリの開発をするために~
 
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
 
About .Net vNext
About .Net vNextAbout .Net vNext
About .Net vNext
 
OWIN - .NETにおけるPSGI -
OWIN - .NETにおけるPSGI -OWIN - .NETにおけるPSGI -
OWIN - .NETにおけるPSGI -
 
Single Command Deployのための gradle-aws-plugin講座
Single Command Deployのための gradle-aws-plugin講座Single Command Deployのための gradle-aws-plugin講座
Single Command Deployのための gradle-aws-plugin講座
 
.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み
 
実プロジェクトの経験から学ぶazureサービス適用パターン
実プロジェクトの経験から学ぶazureサービス適用パターン実プロジェクトの経験から学ぶazureサービス適用パターン
実プロジェクトの経験から学ぶazureサービス適用パターン
 
Windows Azure PHP Tips
Windows Azure PHP Tips Windows Azure PHP Tips
Windows Azure PHP Tips
 
Vsug day 2010 summer windows azure でやってみよう
Vsug day 2010 summer windows azure でやってみようVsug day 2010 summer windows azure でやってみよう
Vsug day 2010 summer windows azure でやってみよう
 
TDC20111031_Groovy_Geb
TDC20111031_Groovy_GebTDC20111031_Groovy_Geb
TDC20111031_Groovy_Geb
 
Spring Integration 超入門
Spring Integration 超入門Spring Integration 超入門
Spring Integration 超入門
 
Webサーバの基礎知識【編集済み】
Webサーバの基礎知識【編集済み】Webサーバの基礎知識【編集済み】
Webサーバの基礎知識【編集済み】
 
Spring.project
Spring.projectSpring.project
Spring.project
 
JenkinsとSeleniumの活用事例
JenkinsとSeleniumの活用事例JenkinsとSeleniumの活用事例
JenkinsとSeleniumの活用事例
 

Spring Boot概要

  • 1. Spring Boot 概要 afnf (@af_not_found) 2017/09/16 Web フレームワーク品評会
  • 2. 2 Web フレームワーク品評会    Spring Boot 概要 2017/09/16 Spring Boot とは ● . みんな大好き Java のフレームワーク ● Groovy/Kotlin も OK ● Github star 数 : 15,925 (2017/9/15) ● 2014/4/3 に 1.0.0 リリース ● 53 回のリリースを経て現在 1.5.7 ● 開発元は Dell EMC 傘下 ● Dell EMC → Pivotal → SpringSource
  • 3. 3 Web フレームワーク品評会    Spring Boot 概要 2017/09/16 Spring Boot に至るまで ● 1999 ~ Servlet/JSP ● 2001 ~ Apache Struts 1.x ● 2005 ~ Spring MVC ● 2009 ~ Play Framework ● 2011 ~ Dropwizard ● 2014 ~ Spring Boot
  • 4. 4 Web フレームワーク品評会    Spring Boot 概要 2017/09/16 Google Trend
  • 5. 5 Web フレームワーク品評会    Spring Boot 概要 2017/09/16 Google Trend
  • 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
  • 15. 15 Web フレームワーク品評会    Spring Boot 概要 2017/09/16 その他の starter ● Spring Security ( 認許・認可 ) ● NoSQL 関連 ● クラウド関連 ● DevTools ( 開発用ツール ) ● Actuator ( メトリクス、ヘルスチェック )
  • 16. 16 Web フレームワーク品評会    Spring Boot 概要 2017/09/16 デプロイと起動 ● ビルドして jar/war ファイルを作成 ● ライブラリ等が1つのファイルにパッケージングされる ● 実態はただの zip ファイル ● executable jar 形式 ● java -jar app.jar -Dspring.profiles.active=production ● fully executable jar 形式 ● init.d や systemd にそのまま登録可能 ● jar の先頭に bash スクリプトが埋め込まれている
  • 17. 17 Web フレームワーク品評会    Spring Boot 概要 2017/09/16 まとめ ● 後発フレームワークなので良いとこ取り ● Java なら Spring Boot 使っとけ(個人の意見です)