Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
土岐 孝平
PPT, PDF
6,975 views
Springを使ったwebアプリにリファクタリングしよう
Spring Day 2016のハンズオンの座学資料です。
Software
◦
Read more
1
Save
Share
Embed
Embed presentation
Download
Downloaded 23 times
1
/ 27
2
/ 27
3
/ 27
4
/ 27
5
/ 27
6
/ 27
7
/ 27
8
/ 27
9
/ 27
10
/ 27
11
/ 27
12
/ 27
13
/ 27
14
/ 27
15
/ 27
16
/ 27
17
/ 27
18
/ 27
19
/ 27
20
/ 27
21
/ 27
22
/ 27
23
/ 27
24
/ 27
25
/ 27
26
/ 27
27
/ 27
More Related Content
PDF
これから始めるSpringのwebアプリケーション
by
土岐 孝平
PDF
今さら聞けないDiとspring
by
土岐 孝平
PDF
入社1年目のプログラミング初心者がSpringを学ぶための手引き
by
土岐 孝平
PDF
Springを何となく使ってる人が抑えるべきポイント
by
土岐 孝平
PDF
Spring Fest 2018 Spring Bootで作るRESTful Web Service
by
WataruOhno
PDF
Spring Bootをはじめる時にやるべき10のこと
by
心 谷本
PDF
これからSpringを使う開発者が知っておくべきこと
by
土岐 孝平
PDF
怖くないSpring Bootのオートコンフィグレーション
by
土岐 孝平
これから始めるSpringのwebアプリケーション
by
土岐 孝平
今さら聞けないDiとspring
by
土岐 孝平
入社1年目のプログラミング初心者がSpringを学ぶための手引き
by
土岐 孝平
Springを何となく使ってる人が抑えるべきポイント
by
土岐 孝平
Spring Fest 2018 Spring Bootで作るRESTful Web Service
by
WataruOhno
Spring Bootをはじめる時にやるべき10のこと
by
心 谷本
これからSpringを使う開発者が知っておくべきこと
by
土岐 孝平
怖くないSpring Bootのオートコンフィグレーション
by
土岐 孝平
What's hot
PPTX
Spring超入門-Springと出会ってから1年半-
by
Ryosuke Uchitate
PPTX
はじめてのElasticsearchクラスタ
by
Satoyuki Tsukano
PDF
最近の単体テスト
by
Ken Morishita
PDF
オブジェクト指向プログラミングのためのモデリング入門
by
増田 亨
PPTX
Redisの特徴と活用方法について
by
Yuji Otani
PDF
ドメイン駆動設計 ( DDD ) をやってみよう
by
増田 亨
PDF
Junitを使ったjavaのテスト入門
by
Satoshi Kubo
PPTX
さくっと理解するSpring bootの仕組み
by
Takeshi Ogawa
PDF
マルチテナント化で知っておきたいデータベースのこと
by
Amazon Web Services Japan
PDF
【Unite Tokyo 2019】Understanding C# Struct All Things
by
UnityTechnologiesJapan002
PDF
What's new in Spring Batch 5
by
ikeyat
PDF
Apache OpenWhiskで実現するプライベートFaaS環境 #tjdev
by
Yahoo!デベロッパーネットワーク
PDF
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
by
Preferred Networks
PDF
JVMのGCアルゴリズムとチューニング
by
佑哉 廣岡
PPTX
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
by
NTT DATA Technology & Innovation
PDF
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
by
Amazon Web Services Japan
PDF
Form認証で学ぶSpring Security入門
by
Ryosuke Uchitate
PDF
AngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
by
ssuser070fa9
PDF
Amazon SNS+SQSによる Fanoutシナリオの話
by
Yoichi Toyota
PDF
新入社員のための大規模ゲーム開発入門 サーバサイド編
by
infinite_loop
Spring超入門-Springと出会ってから1年半-
by
Ryosuke Uchitate
はじめてのElasticsearchクラスタ
by
Satoyuki Tsukano
最近の単体テスト
by
Ken Morishita
オブジェクト指向プログラミングのためのモデリング入門
by
増田 亨
Redisの特徴と活用方法について
by
Yuji Otani
ドメイン駆動設計 ( DDD ) をやってみよう
by
増田 亨
Junitを使ったjavaのテスト入門
by
Satoshi Kubo
さくっと理解するSpring bootの仕組み
by
Takeshi Ogawa
マルチテナント化で知っておきたいデータベースのこと
by
Amazon Web Services Japan
【Unite Tokyo 2019】Understanding C# Struct All Things
by
UnityTechnologiesJapan002
What's new in Spring Batch 5
by
ikeyat
Apache OpenWhiskで実現するプライベートFaaS環境 #tjdev
by
Yahoo!デベロッパーネットワーク
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
by
Preferred Networks
JVMのGCアルゴリズムとチューニング
by
佑哉 廣岡
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
by
NTT DATA Technology & Innovation
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
by
Amazon Web Services Japan
Form認証で学ぶSpring Security入門
by
Ryosuke Uchitate
AngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
by
ssuser070fa9
Amazon SNS+SQSによる Fanoutシナリオの話
by
Yoichi Toyota
新入社員のための大規模ゲーム開発入門 サーバサイド編
by
infinite_loop
Viewers also liked
PPTX
Spring bootで学ぶ初めてのwebアプリ開発
by
terahide
PDF
Spring Day 2016 springの現在過去未来
by
Yuichi Hasegawa
PDF
Grailsでドメイン駆動設計を実践する時の勘所
by
Takuma Watabiki
PDF
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
by
Yuichi Hasegawa
PDF
Lineにおけるspring frameworkの活用
by
Tokuhiro Matsuno
PDF
Spring Day 2016 - Web API アクセス制御の最適解
by
都元ダイスケ Miyamoto
PDF
楽天トラベルとSpring(Spring Day 2016)
by
Rakuten Group, Inc.
PPTX
Cloud Foundry x Wagby
by
Yoshinori Nie
PDF
Data Microservices with Spring Cloud Stream, Task, and Data Flow #jsug #spri...
by
Toshiaki Maki
PPTX
Spring 5に備えるリアクティブプログラミング入門
by
Takuya Iwatsuka
PDF
Distributed tracing - get a grasp on your production
by
nklmish
PPT
Distributed Tracing Velocity2016
by
Reshmi Krishna
PPTX
Spring CloudとZipkinを利用した分散トレーシング
by
Rakuten Group, Inc.
PDF
Internetトラフィックエンジニアリングの現実
by
J-Stream Inc.
PDF
Business Process Modeling in Goldman Sachs @ JJUG CCC Fall 2017
by
tty fky
PPTX
高速なソートアルゴリズムを書こう!!
by
masakazu matsubara
PPTX
Javaアプリケーションの モダナイゼーションアプローチ
by
CData Software Japan
PDF
Another compilation method in java - AOT (Ahead of Time) compilation
by
Logico
PPTX
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
by
Hiroshi Ito
PDF
Java SE 9の紹介: モジュール・システムを中心に
by
Taku Miyakawa
Spring bootで学ぶ初めてのwebアプリ開発
by
terahide
Spring Day 2016 springの現在過去未来
by
Yuichi Hasegawa
Grailsでドメイン駆動設計を実践する時の勘所
by
Takuma Watabiki
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
by
Yuichi Hasegawa
Lineにおけるspring frameworkの活用
by
Tokuhiro Matsuno
Spring Day 2016 - Web API アクセス制御の最適解
by
都元ダイスケ Miyamoto
楽天トラベルとSpring(Spring Day 2016)
by
Rakuten Group, Inc.
Cloud Foundry x Wagby
by
Yoshinori Nie
Data Microservices with Spring Cloud Stream, Task, and Data Flow #jsug #spri...
by
Toshiaki Maki
Spring 5に備えるリアクティブプログラミング入門
by
Takuya Iwatsuka
Distributed tracing - get a grasp on your production
by
nklmish
Distributed Tracing Velocity2016
by
Reshmi Krishna
Spring CloudとZipkinを利用した分散トレーシング
by
Rakuten Group, Inc.
Internetトラフィックエンジニアリングの現実
by
J-Stream Inc.
Business Process Modeling in Goldman Sachs @ JJUG CCC Fall 2017
by
tty fky
高速なソートアルゴリズムを書こう!!
by
masakazu matsubara
Javaアプリケーションの モダナイゼーションアプローチ
by
CData Software Japan
Another compilation method in java - AOT (Ahead of Time) compilation
by
Logico
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
by
Hiroshi Ito
Java SE 9の紹介: モジュール・システムを中心に
by
Taku Miyakawa
Similar to Springを使ったwebアプリにリファクタリングしよう
PDF
Spring Framework ふりかえりと4.3新機能
by
kimulla
PPTX
Spring I/O 2015 報告
by
Takuya Iwatsuka
PDF
Spring Frameworkの今 (2013年版) #jjug_ccc #ccc_r17 #springframework
by
Toshiaki Maki
PPTX
JJUG CCC 2017 Spring Seasar2からSpringへ移行した俺たちのアプリケーションがマイクロサービスアーキテクチャへ歩み始めた
by
Koichi Sakata
PPTX
JSUG SpringOnePlatform 2016報告会 Case study2 - feed back - springoneplatform
by
Takahiro Fujii
PDF
SpringOne 2GX 2014 参加報告 & Spring 4.1について #jsug
by
Toshiaki Maki
PDF
Spring.project
by
広平 田村
PPTX
Spring Fest 2017 「エンタープライズで利用するSpring Boot」#jsug #sf_h1
by
Takeshi Hirosue
PDF
Spring Bootで変わる Javaアプリ開発! #jsug
by
Toshiaki Maki
PDF
Spring3.1概要x di
by
Yuichi Hasegawa
PPTX
Spring 12年の歴史
by
movmov
PDF
REST with Spring Boot #jqfk
by
Toshiaki Maki
PDF
スケーラブルなアプリケーション開発を考える
by
Yusaku Watanabe
PDF
The master plan ofscaling a web application
by
Yusuke Wada
PPTX
Spring data-rest-and-spring-cloud-contract
by
Takeshi Ogawa
PPT
Spring mvc
by
Ryo Asai
PDF
Spring Data RESTを利用したAPIの設計と、作り直しまでの道のり
by
Rakuten Group, Inc.
PDF
どこよりも早い Spring Boot 1.2 解説 #渋谷Java
by
Toshiaki Maki
PPTX
Java EE8 Report
by
Norito Agetsuma
PPTX
今こそ知りたいSpring Web(Spring Fest 2020講演資料)
by
NTT DATA Technology & Innovation
Spring Framework ふりかえりと4.3新機能
by
kimulla
Spring I/O 2015 報告
by
Takuya Iwatsuka
Spring Frameworkの今 (2013年版) #jjug_ccc #ccc_r17 #springframework
by
Toshiaki Maki
JJUG CCC 2017 Spring Seasar2からSpringへ移行した俺たちのアプリケーションがマイクロサービスアーキテクチャへ歩み始めた
by
Koichi Sakata
JSUG SpringOnePlatform 2016報告会 Case study2 - feed back - springoneplatform
by
Takahiro Fujii
SpringOne 2GX 2014 参加報告 & Spring 4.1について #jsug
by
Toshiaki Maki
Spring.project
by
広平 田村
Spring Fest 2017 「エンタープライズで利用するSpring Boot」#jsug #sf_h1
by
Takeshi Hirosue
Spring Bootで変わる Javaアプリ開発! #jsug
by
Toshiaki Maki
Spring3.1概要x di
by
Yuichi Hasegawa
Spring 12年の歴史
by
movmov
REST with Spring Boot #jqfk
by
Toshiaki Maki
スケーラブルなアプリケーション開発を考える
by
Yusaku Watanabe
The master plan ofscaling a web application
by
Yusuke Wada
Spring data-rest-and-spring-cloud-contract
by
Takeshi Ogawa
Spring mvc
by
Ryo Asai
Spring Data RESTを利用したAPIの設計と、作り直しまでの道のり
by
Rakuten Group, Inc.
どこよりも早い Spring Boot 1.2 解説 #渋谷Java
by
Toshiaki Maki
Java EE8 Report
by
Norito Agetsuma
今こそ知りたいSpring Web(Spring Fest 2020講演資料)
by
NTT DATA Technology & Innovation
More from 土岐 孝平
PDF
What's new in Spring Boot 2.6 ?
by
土岐 孝平
PDF
SpringベースのCloud Native Application
by
土岐 孝平
PDF
Spring fest2020 spring-security
by
土岐 孝平
PDF
Microserviceの今どきのインフラを探る
by
土岐 孝平
PDF
OpenID Connect入門
by
土岐 孝平
PDF
業務システムとマイクロサービス
by
土岐 孝平
PDF
エッセンシャルCore springハンズオン
by
土岐 孝平
PPT
試験にでるSpring
by
土岐 孝平
PPT
Spring3.1概要 データアクセスとトランザクション処理
by
土岐 孝平
PPT
vFabricを触ろう
by
土岐 孝平
What's new in Spring Boot 2.6 ?
by
土岐 孝平
SpringベースのCloud Native Application
by
土岐 孝平
Spring fest2020 spring-security
by
土岐 孝平
Microserviceの今どきのインフラを探る
by
土岐 孝平
OpenID Connect入門
by
土岐 孝平
業務システムとマイクロサービス
by
土岐 孝平
エッセンシャルCore springハンズオン
by
土岐 孝平
試験にでるSpring
by
土岐 孝平
Spring3.1概要 データアクセスとトランザクション処理
by
土岐 孝平
vFabricを触ろう
by
土岐 孝平
Springを使ったwebアプリにリファクタリングしよう
1.
1 【ハンズオン】 Spring を使った Web
アプリに リファクタリングしよう 2016/11/18 日本 Spring ユーザ会 土岐 孝平
2.
自己紹介 • 土岐 孝平
( とき こうへい ) • Spring を使用したシステム開発の支援 • Java や Spring の研修の講師 • 資格 – Spring Professional – Spring Web Application Developer • 書籍の執筆 2 [ 改訂新版 ]Spring 入門
3.
ハンズオンの概要 • Servlet ・
JDBC を直接使ったアプリを、 Spring を使ったアプリにリファクタリングする • プログラムが洗練されて、生産性が上がること を実感する • Spring が行ってることを知る – 洗練された部分≒裏で Spring が働く部分 3
4.
アプリの題材 • 顧客管理アプリ 4 参照系 更新系
5.
アプリの構造 ( 現状
) 5 web.xml DB ブラウザ JSP ファイル Customer XxxServlet Customer ServiceImpl Customer DaoImpl Customer Service Customer Dao Customer JDBC JDBC プレゼンテーション層 サービス層 データアクセス層
6.
問題点 • データアクセス層 – リソースの取得・解放のコードが冗長 •
サービス層 – トランザクション制御のコードが冗長 • プレゼンテーション層 – リクエストのマッピングが面倒 – 入力チェックのコードが複雑 • その他 – 下位の層の具象クラスに依存 6
7.
リソースの取得・解放のコードが冗長 • sample.customer.dao. CustomerDaoImpl
クラス 7 データアクセス層
8.
トランザクション制御のコードが冗長 • sample.customer.service. CustomerServiceImpl 8 サービス層
9.
リクエストのマッピングが面倒 • WEB-INF/web.xml 9 プレゼンテーション層
10.
入力チェックのコードが複雑 • sample.customer.servlet. CustomerEditServlet 10 プレゼンテーション層
11.
下位の層の具象クラスに依存 • sample.customer.service. CustomerServiceImpl 11 その他
12.
【演習】 Spring を使って解決しましょう •
どのように解決されるか、演習を通して理解しましょう • 演習手順は github にアップされています – https://github.com/KouheiToki/jsug-handson-20161118 • 演習時間: 80 分 – 目安 • 躓いたら、講師陣にお気軽にお声掛けください 12 初心者 中級者 参照系の機能 80 分 45 分 更新系の機能 50 分 35 分
13.
改善点 • データアクセス層 – DB
接続・切断のコードなくなった • サービス層 – トランザクション制御のコードがなくなった • プレゼンテーション層 – リクエストのマッピングが簡単になった – 入力チェックが簡単になった • その他 – 下位の層の具象クラスに依存しなくなった 13
14.
リソースの取得・解放のコードがなくなった • sample.customer.dao. CustomerDaoImpl
クラス 14 データアクセス層
15.
トランザクション制御のコードがなくなった • sample.customer.service. CustomerServiceImpl 15 サービス層
16.
リクエストのマッピングが簡単になった • sample.customer.controller.CustomerShowController 16 プレゼンテーション層
17.
入力チェックが簡単になった • sample.customer.entity.Customer 17 プレゼンテーション層
18.
下位の層の具象クラスに依存しなくなった • sample.customer.service. CustomerServiceImpl 18 その他
19.
その他ポイント • Bean のコンフィグレーション –
コンフィグレーション方法の種類と使い分け • データアクセス – コネクション・トランザクション周りの仕組み • Spring MVC – 画面周りの処理の流れ • Spring Boot – Spring Boot が行っていること 19
20.
コンフィグレーションの方法 • コンフィグレーションの方法は3種類から選べ ます – XML –
アノテーション – JavaConfig 20 n のコンフィグレーション DI コンテナ : Foo 結果は同じ ※ DI コンテナが 管理するオブジェクトのことを Bean という
21.
一般的と思われる使い分け • 業務個別の Bean(Controller
、 Service 、 Dao) はアノテーション – Bean の数が増えてもメンテナンスが楽 • 裏方の Bean は XML もしくは JavaConfig – 環境ごとに Bean 定義を用意&一元化できて切替が容易 – サードパーティのクラスにアノテーションは付けれない 21 : Controller : Service : Dao : Transaction Manager : DataSource : View Resolver 本番用 テスト用 業務個別 裏方 n のコンフィグレーション : Transaction Manager : DataSource : View Resolver
22.
コネクション・ トランザクション周りの仕組み • コネクションの取得・解放、トランザクションの開始・終了は Spring が行う –
アプリで上記のコードは出てこない – コネクションを引数で渡さなくてよい 22 foo : Controller : Proxy @Transactional : Service : Dao :データア クセス機能 foo bar baz SQL ThreadLocal : Connection connect 、 begin commit 、 close データアクセス
23.
• HttpServlet を継承した
DispacherServlet が全体 の処理を制御している 画面周りの処理の流れ 23 Controller Model Dispatcher Servlet Handler Mapping Handler Adapter View Resolver View ブラウザ ① ② ③ ④ ⑤ ⑥ ⑦ ⑧⑨ Controller と メソッドを 特定 引数の値を 用意 View の形式・ ファイルを特 定 全体の処理 を制御 Spring MVC
24.
Spring Boot が行っていること •
必要な Jar ファイルのダウンロードや、裏方の Bean のコンフィグレーショ ン、組込サーバ (Tomcat) の実行を自動で行ってくれる • 業務個別の Bean のプログラムの作りは、 Boot を使っても使わなくても変 わらない • 組込じゃない Tomcat にデプロイすることも可能 24 : Controller : Service : Dao 裏方の Bean : Tomcat 組込サーバ 必要な Jar ファイル Spring の jar JPA の jar JUnit の jar ・・・ Boot が用意 業務個別の Bean ・・・ Spring Boot Tomcat の jar : Transaction Manager : DataSource : View Resolver 接続先などの プロパティ 今回 使用した部分
25.
さいごに • 書籍を購入して、知識を広げましょう • おすすめの書籍 25 [
改訂新版 ]Spring 入門 Spring 徹底入門
26.
26 ご清聴ありがとうございました
27.
27 ライセンスについて • JSUG マスコットアイコン(本スライド左下)が残されている場合に限り、本作品(またそれ を元にした派生作品)の複製・頒布・表示・上演を認めます。 •
非商用目的に限り、本作品(またそれを元にした派生作品)の複製・頒布・表示・上演を認め ます。 • 本作品のライセンスを遵守する限り、派生作品を頒布することを許可します。
Download