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.

Spring知っておきたい

3,129 views

Published on

8/13 発表予定だった資料です。

Published in: Engineering
  • Be the first to comment

Spring知っておきたい

  1. 1. これからSpringを導入する ために知っておきたいこと 1 日本Springユーザ会
  2. 2. 発表者 • 長谷川裕一 – JSUG(日本Springユーザ会)会長 –Starlight&Storm LLC 代表社員 2 www.starlight-storm.com
  3. 3. 知っておきたいこと 3
  4. 4. 案件の実際 • Javaを使う案件は多いですが、未だにフレー ムワークで悩んでいる • その中で、Springを使った案件も増えてます が、人が足りません – Javaが分かる人 – Springが分かる人 – オブジェクト指向やアーキテクチャが分かってる人 4
  5. 5. 悩んでるなら-Spring Framework 5 • Javaで開発、フレームワークで悩んでいるなら、ま ずはSpring Framework Cloud RDB Spring
  6. 6. 基本はDIxAOP • コンポーネントの疎結合を促進し、共通処理(トラン ザクション処理など)をソースコードから排除すること で、可読性や変更容易性、テスト容易性などが向上 6 中間層EIS層Client層 プレゼンテーション層ビジネス層データアクセス層 Browser RDB Spring (DIxAOP)
  7. 7. 参考企業が提供するフレームワーク • 企業が提供するフレームワークを利用する場合も、 その中で利用されているのがSpringか否かは確認 した方がよい • JSUGで過去に発表したもの – NTTデータ – 日本ユニシス – CSK(発表当時。現在SCSK) – 日本アクセンチュア 7
  8. 8. ちょこっとメモ • レイヤ構成や設計、モデリングができることも 重要 • EclipseにはSTSをプラグインしておきたい • 今の流行は、MavenよりもGradle!? 8
  9. 9. Strutsは捨てよう~Spring MVC • 積極的なREST対応、アノテーションを利用し、 ControllerをHTTPに汚染されない普通のソースコ ードとして実装可能 9 中間層EIS層Client層 プレゼンテーション層ビジネス層データアクセス層 Browser RDB Spring (DIxAOP) Spring MVC
  10. 10. 10 参考Spring MVC(1) ※少し手を加えシンプルにしています <html> <head> <title>Home</title> </head> <body> <h1>Hello world! </h1> <p>The time on the server is ${serverTime}.</p> </body> </html> Modelに設定したオブジェクトは 自動的にHttpServletRequestに 設定されている
  11. 11. 参考Spring MVC(2) 11 Controllerの指定 @Controller public class HomeController { @RequestMapping(value = "/", method = GET) public String home(Model model) { Date date = new Date(); model.addAttribute("serverTime", date); return "home"; } } HTTPメソッドがGETで 「/」へアクセスした際に 実行される ビューに渡したいオブジェクトを 設定する View名をreturnする ※少し手を加えシンプルにしています
  12. 12. ちょこっとメモ • 国際化対応はあるよね • Validationも必要だよね – SpringのValidation機能はBean Validation(JSR-303 Bean Validation)をサポートしている 12 public class Person { @NotNull @Size(max = 50) private String name; @NotNull @Size(max = 300) private String address; }
  13. 13. ログイン画面は自分で作らない -Spring Security • 認証(ユーザーであるか否かを確認する、所謂ログ インの機能)/認可(ユーザがある機能を利用できる か否かを判断する機能)はスクラッチで作らない 13 中間層EIS層Client層 プレゼンテーション層ビジネス層データアクセス層 Browser RDB Spring (DIxAOP) Spring MVC Spring Security 位置的に微妙だけど その辺は御勘弁・・・
  14. 14. ここは悩む-DBアクセス • JPA(Hibernate) • Spring Data JPA • MyBatis 14 中間層EIS層Client層 プレゼンテーション層ビジネス層データアクセス層 Browser RDB Spring (DIxAOP) Spring MVC Spring Security Spring Data JPA MyBatis
  15. 15. さくっと動かせ-Spring Boot 15 槇さんのお話しをどうぞ!!!!
  16. 16. 16 ご清聴ありがとうございました
  17. 17. 17 ライセンスについて • JSUGマスコットアイコン(本スライド左下)が残されている場合に限り、本作品(またそれを元にした派生 作品)の複製・頒布・表示・上演を認めます。 • 非商用目的に限り、本作品(またそれを元にした派生作品)の複製・頒布・表示・上演を認めます。 • 本作品のライセンスを遵守する限り、派生作品を頒布することを許可します。

×