SlideShare a Scribd company logo
1
エッセンシャル
Core Springハンズオン
日本Springユーザ会/合同会社Starlight&Storm
土岐 孝平・大野 渉
講演者
• 土岐 孝平
– Spring認定講師。アーキテク
トやコンサルタントとしても活
動し、記事執筆等もおこなっ
ている。最近は、JavaScript
関連の技術に興味を持って
いる。
• 大野 渉
– Java Webアプリケーション
開発を中心に経験を積み、
現在はSpringやオブジェクト
指向設計/実装を中心にコン
サルタント/講師として活動中
。
2
ハンズオンについて
• 対象者
– Springの初心者~中級者
• 目標
– 「Springは便利そうだな」と感じる
• その他
– PivotalのCore Spring 研修のコンテンツを使用
3
Core Spring 研修
• 本家Pivotalが提供する研修
– 他の研修:Spring Web、Enterprise Spring・・・
• 4日間
• Spring Frameworkの機能が体系的に学べる
• 資格試験のバウチャーがもらえる
4
Core Spring 研修の内容
5
• DI
– JavaConfig
– アノテーション
– XML
• テスト
• AOP
• Spring JDBC
• トランザクション
• JPA
• Spring MVC
• Spring Security
• Spring Boot
• REST-WS
• JMS
ハンズオンで行う部分
6
• DI
– JavaConfig
– アノテーション
– XML
• テスト
• AOP
• Spring JDBC
• トランザクション
• JPA
• Spring MVC
• Spring Security
• Spring Boot
• REST-WS
• JMS
①①①① ②②②②
• DIコンテナの役割を考える
• アプリケーションは、オブジェクトが他のオブジェクトを利用し
ながら処理を行う
ハンズオンの前に
7
利用したいオブジェクトをどうやって取得するか?利用したいオブジェクトをどうやって取得するか?利用したいオブジェクトをどうやって取得するか?利用したいオブジェクトをどうやって取得するか?
::::TransferServiceImpl
: JdbcAccount
Repository
::::StubAccount
Repository
DB
DIコンテナの役割
• 利用したいオブジェクトを用意してくれる
– 利用したいオブジェクトを取得する処理が不要
– オブジェクトの切り替えが簡単
8
DIコンテナが行ってること
9
::::TransferServiceImpl
: JdbcAccount
Repository
DIコンテナコンテナコンテナコンテナ
(1) repository = new JdbcAccountRepository();
(2) service = new TransferServiceImpl();
(3) service.setAccountRepository(repository);
(1)
(2)
(3)
アプリケーションのコード
10
public class JdbcAccountRepository
implements AccountRepository {
・・・・・・・・・・・・
}
public class TransferServiceImpl {
private AccountRepository repository;
public void setAccountRepository(AccountRepository ar) {
repository = ar;
}
・・・・・・・・・・・・
}
public class StubAccountRepository
implements AccountRepository {
・・・・・・・・・・・・
}
StubAccount
Repository
JdbcAccount
Repository
TransferServiceImpl
Account
Repository
・利用したいオブジェクトを取得するコードが不要・利用したいオブジェクトを取得するコードが不要・利用したいオブジェクトを取得するコードが不要・利用したいオブジェクトを取得するコードが不要
・具象クラスに依存しない・具象クラスに依存しない・具象クラスに依存しない・具象クラスに依存しない
・・・・POJOで書けるで書けるで書けるで書ける(Springに依存しないに依存しないに依存しないに依存しない)
オブジェクトの切り替え(単体テスト時)
11
::::TransferServiceImpl
DIコンテナコンテナコンテナコンテナ
(1) repository = new StubAccountRepository();
(2) service = new TransferServiceImpl();
(3) service.setAccountRepository(repository);
(1)
(2)
(3)
::::StubAccount
Repository
ハンズオン①
Dependency Injection Using Spring
(別紙参照)
12
ハンズオン②
Spring Web MVC Essentials
(別紙参照)
13
おわりに
• Springをもっと勉強したい方は、Core Spring 研修がお勧めです
– メリット
• 体系的に機能を学習できる
• 各機能を試せる環境を入手できる
– コースの案内
• https://pivotal.io/jp/training
• http://connect.pivotal.io/rs/625-IUJ-
009/images/CoreSpring_20150809.pdf
– 次回開催予定
• 10/15(木) - 10/16(金) および10/19(月) - 10/20(火)
• http://edu.jtp.co.jp/course/314
– その他コースについて
• https://pivotal.io/jp/training
• Springをもっと勉強したいけど、すぐに使いたい方は、Starlight&Storm
に相談しましょう
14
Starlight&StormStarlight&StormStarlight&StormStarlight&Storm LLCLLCLLCLLC
• Springとオブジェクト指向を知り尽くした会社とオブジェクト指向を知り尽くした会社とオブジェクト指向を知り尽くした会社とオブジェクト指向を知り尽くした会社
– 要件定義要件定義要件定義要件定義
– アーキテクチャ構築・評価アーキテクチャ構築・評価アーキテクチャ構築・評価アーキテクチャ構築・評価
– 開発者教育開発者教育開発者教育開発者教育
– 開発支援開発支援開発支援開発支援
Starlight & Storm 検索検索検索検索
詳しくは詳しくは詳しくは詳しくはWebでででで
15
16
ご清聴ありがとうございました
17
ライセンスについて
• JSUGマスコットアイコン(本スライド左下)が残されている場合に限り、本作品(またそれを元にした派生
作品)の複製・頒布・表示・上演を認めます。
• 非商用目的に限り、本作品(またそれを元にした派生作品)の複製・頒布・表示・上演を認めます。
• 本作品のライセンスを遵守する限り、派生作品を頒布することを許可します。

More Related Content

PDF
Springを何となく使ってる人が抑えるべきポイント
PDF
これから始めるSpringのwebアプリケーション
PPTX
[社内勉強会]Webエンジニアへ送るインフラのおすすめ本:記事7本
PPT
Springを使ったwebアプリにリファクタリングしよう
PPTX
Jsugプレゼン資料new
PPTX
A/BテストをAzure×Googleアナリティクスで試してみました。
PDF
楽天トラベルとSpring(Spring Day 2016)
PDF
我が家のフロントエンド開発事情
Springを何となく使ってる人が抑えるべきポイント
これから始めるSpringのwebアプリケーション
[社内勉強会]Webエンジニアへ送るインフラのおすすめ本:記事7本
Springを使ったwebアプリにリファクタリングしよう
Jsugプレゼン資料new
A/BテストをAzure×Googleアナリティクスで試してみました。
楽天トラベルとSpring(Spring Day 2016)
我が家のフロントエンド開発事情

What's hot (20)

PPTX
ゼロから始めるオープンソース生活
PDF
Spring Boot + Doma + AngularJSで作るERP 〜JavaQneバージョン〜 #jqfk
PDF
Spring知っておきたい
PPTX
ガチリアルな修羅チーム開発
PPT
試験にでるSpring
PDF
Behind-the-Scenes and Goals of LINE Summer Internship Program
PDF
Spring Boot + Doma + AngularJSで作るERP (LINE Fukuoka Meetup版)
PPTX
ぱぱっと理解するSpring Cloudの基本
PDF
Go (5) JAZUG 関西とゆかいな仲間たち的な
PPTX
Chatopsのおかけでエンジニアがルーティンワークから解放された話
PDF
SendGridを使ってみよう
PDF
Send grid softlayer_nagoya
PPTX
Spring I/O 2017での拡張のお話
PPTX
お得に手軽に♪試してみよう!サーバーレスアーキテクチャ ~Azure Functions / Logic Apps~
PPTX
現実的な「WordPress on Azure App Service」 クイックスタート
PDF
Introduction of public cloud softlayer and bluemix
PDF
エンジニアからデザイナーに贈るプロトタイピングのすすめ - 春のフロントエンド祭り 2015
PDF
three.jsによる一歩進めたグラフィカルな表現
PPTX
スキトラ Spring + mybatis
PPTX
Spring oneを経験してよりよいwebサービスを作るために僕らが取り組むこと(document編)(SpringRESTDocs)
ゼロから始めるオープンソース生活
Spring Boot + Doma + AngularJSで作るERP 〜JavaQneバージョン〜 #jqfk
Spring知っておきたい
ガチリアルな修羅チーム開発
試験にでるSpring
Behind-the-Scenes and Goals of LINE Summer Internship Program
Spring Boot + Doma + AngularJSで作るERP (LINE Fukuoka Meetup版)
ぱぱっと理解するSpring Cloudの基本
Go (5) JAZUG 関西とゆかいな仲間たち的な
Chatopsのおかけでエンジニアがルーティンワークから解放された話
SendGridを使ってみよう
Send grid softlayer_nagoya
Spring I/O 2017での拡張のお話
お得に手軽に♪試してみよう!サーバーレスアーキテクチャ ~Azure Functions / Logic Apps~
現実的な「WordPress on Azure App Service」 クイックスタート
Introduction of public cloud softlayer and bluemix
エンジニアからデザイナーに贈るプロトタイピングのすすめ - 春のフロントエンド祭り 2015
three.jsによる一歩進めたグラフィカルな表現
スキトラ Spring + mybatis
Spring oneを経験してよりよいwebサービスを作るために僕らが取り組むこと(document編)(SpringRESTDocs)
Ad

Viewers also liked (14)

ODP
gumiStudy#1 kvs 発表資料
PPT
Spring mvc
PDF
Spring勉強会
PPTX
Metaprogramming Techniques In Groovy And Grails
PDF
aws上でcloud foundryを構築してみた
PDF
システムアーキテクト~My batis編~
PDF
Cloud Foundry構成概要 111018
PDF
Cloud FoundryでDockerも.NETも。新しいDiegoの仕組み入門
PDF
Java Batch 仕様 (Public Review時点)
PDF
DI(依存性注入)について
PDF
Cloud Foundryで学ぶ、PaaSのしくみ講座
PDF
Jsug2015 summer spring適用におけるバッドノウハウとベタープラクティス
PDF
ネットワーク超入門
PDF
見やすいプレゼン資料の作り方 - リニューアル増量版
gumiStudy#1 kvs 発表資料
Spring mvc
Spring勉強会
Metaprogramming Techniques In Groovy And Grails
aws上でcloud foundryを構築してみた
システムアーキテクト~My batis編~
Cloud Foundry構成概要 111018
Cloud FoundryでDockerも.NETも。新しいDiegoの仕組み入門
Java Batch 仕様 (Public Review時点)
DI(依存性注入)について
Cloud Foundryで学ぶ、PaaSのしくみ講座
Jsug2015 summer spring適用におけるバッドノウハウとベタープラクティス
ネットワーク超入門
見やすいプレゼン資料の作り方 - リニューアル増量版
Ad

More from 土岐 孝平 (12)

PDF
What's new in Spring Boot 2.6 ?
PDF
怖くないSpring Bootのオートコンフィグレーション
PDF
SpringベースのCloud Native Application
PDF
Spring fest2020 spring-security
PDF
Microserviceの今どきのインフラを探る
PDF
OpenID Connect入門
PDF
入社1年目のプログラミング初心者がSpringを学ぶための手引き
PDF
これからSpringを使う開発者が知っておくべきこと
PDF
今さら聞けないDiとspring
PDF
業務システムとマイクロサービス
PPT
Spring3.1概要 データアクセスとトランザクション処理
PPT
vFabricを触ろう
What's new in Spring Boot 2.6 ?
怖くないSpring Bootのオートコンフィグレーション
SpringベースのCloud Native Application
Spring fest2020 spring-security
Microserviceの今どきのインフラを探る
OpenID Connect入門
入社1年目のプログラミング初心者がSpringを学ぶための手引き
これからSpringを使う開発者が知っておくべきこと
今さら聞けないDiとspring
業務システムとマイクロサービス
Spring3.1概要 データアクセスとトランザクション処理
vFabricを触ろう

エッセンシャルCore springハンズオン