試験にでるSpring

1,989 views

Published on

0 Comments
13 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,989
On SlideShare
0
From Embeds
0
Number of Embeds
50
Actions
Shares
0
Downloads
16
Comments
0
Likes
13
Embeds 0
No embeds

No notes for slide

試験にでるSpring

  1. 1. 1 試験にでるSpring 日本Springユーザ会 土岐孝平
  2. 2. 背景 • システム開発会社が抱える問題 – 中堅が育ってくれない・勉強してくれない • 目標がないと、勉強するとっかかりがない – Javaの技術者が多いが、Springに詳しい人が少ない • Springを勉強するための明確な目標が必要 2 Springの認定試験は無いのだろうか?
  3. 3. Springの認定試験 • Certified Spring Professional 【URL】 http://mylearn.vmware.com/mgrReg/plan.cfm?plan=31110&ui=www_cert • Springの本家のPivotalが運営 ※ 本資料に掲載しているURLや、 そのページの内容は今後変更予定です • 選択式で50問(38問以上正解で合格) – 英語で出題(日本でも受験できる) • 事前に研修の受講が必要 3
  4. 4. 出題範囲 • コンテナの基礎 – XML、アノテーション、 JavaConfig、ライフサイクル、テス ティング・・・ • AOP – Pointcuts、Advice、Proxy・・・ • データアクセス – Spring JDBC、Hibernate連携、トランザクション・・・ • Spring MVC – @Controller、@RequestMapping・・・ • その他 – Remoting、Security、JMS、JMX 4 【スタディーガイド】 http://mylearn.vmware.com/courseware/152239/ core-spring-3.0-certification-study-guide.pdf
  5. 5. サンプル問題 5
  6. 6. 6 【問題】 Springの説明として間違っているのはどれでしょう? 1つ選んでくださ い 【選択肢】 (A). Spring は、軽量な手段で企業向けアプリケーションのほとんどの ニーズを満たす機能をもつ (B). Springはモジュール化されており、必要なモジュールだけ使えばよ い (C). 業務ロジックのコードは基本的にSpringに依存せずに記述できる (D). 間違っているものはない。すべて正しい
  7. 7. 7 【問題】 Springの説明として間違っているのはどれでしょう? 1つ選んでくださ い 【選択肢】 (A). Spring は、軽量な手段で企業向けアプリケーションのほとんどの ニーズを満たす機能をもつ (B). Springはモジュール化されており、必要なモジュールだけ使えばよ い (C). 業務ロジックのコードは基本的にSpringに依存せずに記述できる (D). 間違っているものはない。すべて正しい
  8. 8. 8 【問題】 以下のコードと等しい記述はどれでしょう? 1つ選んでください @Configuration public class FooConfig { @Bean public FooService fooService() { return new FooServiceImpl(); } } 【選択肢】 (A). <bean id="fooConfig" class="com.foo.FooService"/> (B). <bean id="fooService" class="com.foo.FooServiceImpl"/> (C). <bean id="fooConfig" class="com.foo.FooServiceImpl"/> (D). 上記のいずれも該当しない。@Beanはname属性が必須である
  9. 9. 9 【問題】 以下のコードと等しい記述はどれでしょう? 1つ選んでください @Configuration public class FooConfig { @Bean public FooService fooService() { return new FooServiceImpl(); } } 【選択肢】 (A). <bean id="fooConfig" class="com.foo.FooService"/> (B). <bean id="fooService" class="com.foo.FooServiceImpl"/> (C). <bean id="fooConfig" class="com.foo.FooServiceImpl"/> (D). 上記のいずれも該当しない。@Beanはname属性が必須である
  10. 10. 【問題】 Beanの生成時にメソッドを実行する3つの方法で、それぞれ別のメ ソッドを呼び出した場合、どの順番で実行されますか? 1つ選択してく ださい 【選択肢】 (A). 実行は不可能である。1つのBeanに1つの方法しか適用できない (B). @PostCounstruct が付与されたメソッド、init-method で指定された メソッド、InitializingBeanのafterPropertiesSetメソッド (C). InitializingBean のafterPropertiesSetメソッド、@PostCounstruct が付与されたメソッド、init-methodで指定されたメソッド (D). @PostCounstruct が付与されたメソッド、InitializingBean の afterPropertiesSet メソッド、init-methodで指定されたメソッド 10
  11. 11. 【問題】 Beanの生成時にメソッドを実行する3つの方法で、それぞれ別のメ ソッドを呼び出した場合、どの順番で実行されますか? 1つ選択してく ださい 【選択肢】 (A). 実行は不可能である。1つのBeanに1つの方法しか適用できない (B). @PostCounstruct が付与されたメソッド、init-method で指定された メソッド、InitializingBeanのafterPropertiesSetメソッド (C). InitializingBean のafterPropertiesSetメソッド、@PostCounstruct が付与されたメソッド、init-methodで指定されたメソッド (D). @PostCounstruct が付与されたメソッド、InitializingBean の afterPropertiesSet メソッド、init-methodで指定されたメソッド 11
  12. 12. 12 【問題】 Join Pointをマッチングさせるための概念はどれですか? 1つ選択して ください 【選択肢】 (A). Aspect (B). Pointcut (C). Advice (D). Weaving
  13. 13. 13 【問題】 Join Pointをマッチングさせるための概念はどれですか? 1つ選択して ください 【選択肢】 (A). Aspect (B). Pointcut (C). Advice (D). Weaving
  14. 14. 14 【問題】 以下のPointcutの記述にマッチするメソッドはどれでしょう(複数 可)? execution(* com.foo..*.*(*)) 【選択肢】 (A). void com.foo.MyServiceImpl クラスの transfert(Money amount)メソッド (B). void com.foo.MyServiceImpl クラスの transfert(Account account, Money amount) メソッド (C). void com.foo.account.MyServiceImpl クラスの transfert(Money amount)メソッド (D). void com.foo.account.MyServiceImpl クラスの transfert(Account account, Money amount) メソッド (E). いずれもマッチしない
  15. 15. 15 【問題】 以下のPointcutの記述にマッチするメソッドはどれでしょう(複数 可)? execution(* com.foo..*.*(*)) 【選択肢】 (A). void com.foo.MyServiceImpl クラスの transfert(Money amount)メソッド (B). void com.foo.MyServiceImpl クラスの transfert(Account account, Money amount) メソッド (C). void com.foo.account.MyServiceImpl クラスの transfert(Money amount)メソッド (D). void com.foo.account.MyServiceImpl クラスの transfert(Account account, Money amount) メソッド (E). いずれもマッチしない
  16. 16. 【問題】 Springのtestモジュールがサポートしている機能はどれでしょう? 1つ 選択してください 16 【選択肢】 (A). インテグレーションテストで有用となるトランザクション制御 (B). テスト対象のオブジェクトのインジェクション (C). 複数のテストメソッドの実行でDIコンテナを共有 (D). 上記すべて
  17. 17. 【問題】 Springのtestモジュールがサポートしている機能はどれでしょう? 1つ 選択してください 17 【選択肢】 (A). インテグレーションテストで有用となるトランザクション制御 (B). テスト対象のオブジェクトのインジェクション (C). 複数のテストメソッドの実行でDIコンテナを共有 (D). 上記すべて
  18. 18. 【問題】 @Transactionalアノテーションが有効で、transferMoneyメソッドが Spring AOP Proxyを通して呼び出された際どのような挙動となるでしょ う? 1つ選択してください @Transactional(propagation=Propagation.REQUIRED) public void transferMoney(Account src, Account target, Double amount) { add(src, -amount); add(target, amount); } @Transactional(propagation=Propagation.REQUIRES_NEW) public void add(Account account, Double amount) { // 何かしらの処理 } 【選択肢】 (A). addメソッドの処理は新しいトランザクションの中で行われる (B). addメソッドの処理はtransferMoneyメソッドのトランザクション の中で行われる (C). addメソッドが呼ばれると例外が発生する (D). 上記以外 18
  19. 19. 【問題】 @Transactionalアノテーションが有効で、transferMoneyメソッドが Spring AOP Proxyを通して呼び出された際どのような挙動となるでしょ う? 1つ選択してください @Transactional(propagation=Propagation.REQUIRED) public void transferMoney(Account src, Account target, Double amount) { add(src, -amount); add(target, amount); } @Transactional(propagation=Propagation.REQUIRES_NEW) public void add(Account account, Double amount) { // 何かしらの処理 } 【選択肢】 (A). addメソッドの処理は新しいトランザクションの中で行われる (B). addメソッドの処理はtransferMoneyメソッドのトランザクション の中で行われる (C). addメソッドが呼ばれると例外が発生する (D). 上記以外 19
  20. 20. 試験の勉強方法 • 模擬試験をたくさん解く – 無料 – 有料 • i Test Java – 20ドル程度で、5回分の模擬試験 20 【URL】 http://javaetmoi.com/wp-content/uploads/2012/02/ spring-certification-3-mock-exam-antoine.pdf 【URL】 http://itestjava.com/java-certification-practice-tests/product/ enter.do?product=SPRING-CORE
  21. 21. 短期間でSpringをマスターする 手段 21
  22. 22. 公式の研修 • Pivotalが運営するSpringの研修 – 4日間 – 印象としては、中級者向き – 日本でも12月以降での開催が決定 • メリット – 本家が作成した教材 – 演習の環境が持ち帰れる – 認定試験のチケット込み 22 【URL】 http://www.pivotal.io/training#spring
  23. 23. 研修の章立て • DI – JavaConfig – アノテーション – XML • テスティング • AOP • Spring JDBC • トランザクション • JPA • MVC • Spring Security • REST-WS • JMS • JMX 23
  24. 24. 今後の開催予定 • ご興味のある方は、info-jp@pivotal.ioにお問い 合わせください 24
  25. 25. 25 ご清聴ありがとうございました
  26. 26. 26 ライセンスについて • JSUGマスコットアイコン(本スライド左下)が残されている場合に限り、本作品(またそれ を元にした派生作品)の複製・頒布・表示・上演を認めます。 • 非商用目的に限り、本作品(またそれを元にした派生作品)の複製・頒布・表示・上演を認め ます。 • 本作品のライセンスを遵守する限り、派生作品を頒布することを許可します。

×