Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

1,275 views

Published on

JSUGのイベント「Spring in Summer」のセッションで使用したスライドです。

Published in: Software
  • Be the first to comment

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

  1. 1. 1 エッセンシャル Core Springハンズオン 日本Springユーザ会/合同会社Starlight&Storm 土岐 孝平・大野 渉
  2. 2. 講演者 • 土岐 孝平 – Spring認定講師。アーキテク トやコンサルタントとしても活 動し、記事執筆等もおこなっ ている。最近は、JavaScript 関連の技術に興味を持って いる。 • 大野 渉 – Java Webアプリケーション 開発を中心に経験を積み、 現在はSpringやオブジェクト 指向設計/実装を中心にコン サルタント/講師として活動中 。 2
  3. 3. ハンズオンについて • 対象者 – Springの初心者~中級者 • 目標 – 「Springは便利そうだな」と感じる • その他 – PivotalのCore Spring 研修のコンテンツを使用 3
  4. 4. Core Spring 研修 • 本家Pivotalが提供する研修 – 他の研修:Spring Web、Enterprise Spring・・・ • 4日間 • Spring Frameworkの機能が体系的に学べる • 資格試験のバウチャーがもらえる 4
  5. 5. Core Spring 研修の内容 5 • DI – JavaConfig – アノテーション – XML • テスト • AOP • Spring JDBC • トランザクション • JPA • Spring MVC • Spring Security • Spring Boot • REST-WS • JMS
  6. 6. ハンズオンで行う部分 6 • DI – JavaConfig – アノテーション – XML • テスト • AOP • Spring JDBC • トランザクション • JPA • Spring MVC • Spring Security • Spring Boot • REST-WS • JMS ①①①① ②②②②
  7. 7. • DIコンテナの役割を考える • アプリケーションは、オブジェクトが他のオブジェクトを利用し ながら処理を行う ハンズオンの前に 7 利用したいオブジェクトをどうやって取得するか?利用したいオブジェクトをどうやって取得するか?利用したいオブジェクトをどうやって取得するか?利用したいオブジェクトをどうやって取得するか? ::::TransferServiceImpl : JdbcAccount Repository ::::StubAccount Repository DB
  8. 8. DIコンテナの役割 • 利用したいオブジェクトを用意してくれる – 利用したいオブジェクトを取得する処理が不要 – オブジェクトの切り替えが簡単 8
  9. 9. DIコンテナが行ってること 9 ::::TransferServiceImpl : JdbcAccount Repository DIコンテナコンテナコンテナコンテナ (1) repository = new JdbcAccountRepository(); (2) service = new TransferServiceImpl(); (3) service.setAccountRepository(repository); (1) (2) (3)
  10. 10. アプリケーションのコード 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. 11. オブジェクトの切り替え(単体テスト時) 11 ::::TransferServiceImpl DIコンテナコンテナコンテナコンテナ (1) repository = new StubAccountRepository(); (2) service = new TransferServiceImpl(); (3) service.setAccountRepository(repository); (1) (2) (3) ::::StubAccount Repository
  12. 12. ハンズオン① Dependency Injection Using Spring (別紙参照) 12
  13. 13. ハンズオン② Spring Web MVC Essentials (別紙参照) 13
  14. 14. おわりに • 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
  15. 15. Starlight&StormStarlight&StormStarlight&StormStarlight&Storm LLCLLCLLCLLC • Springとオブジェクト指向を知り尽くした会社とオブジェクト指向を知り尽くした会社とオブジェクト指向を知り尽くした会社とオブジェクト指向を知り尽くした会社 – 要件定義要件定義要件定義要件定義 – アーキテクチャ構築・評価アーキテクチャ構築・評価アーキテクチャ構築・評価アーキテクチャ構築・評価 – 開発者教育開発者教育開発者教育開発者教育 – 開発支援開発支援開発支援開発支援 Starlight & Storm 検索検索検索検索 詳しくは詳しくは詳しくは詳しくはWebでででで 15
  16. 16. 16 ご清聴ありがとうございました
  17. 17. 17 ライセンスについて • JSUGマスコットアイコン(本スライド左下)が残されている場合に限り、本作品(またそれを元にした派生 作品)の複製・頒布・表示・上演を認めます。 • 非商用目的に限り、本作品(またそれを元にした派生作品)の複製・頒布・表示・上演を認めます。 • 本作品のライセンスを遵守する限り、派生作品を頒布することを許可します。

×