ひがやすを技術ブログ

電通国際情報サービスのプログラマ

Guice vs. SpringJavaConfig (5) Conclusions

Guice vs. SpringJavaConfig (5) Conclusions

Springの勝ちということになっていますね。ただ、だからGuiceがだめだと短絡的に思っては危険です。このアーティクルの著者は、@Injectを侵略的だとしてSpringのポイントにしていますが、これは人によって評価が分かれるところです。ただ、Spring派の人は、アノテーションが侵略的だと感じる傾向があるということは言えるかもしれません。だからSpringからEJB3へ移行する人も少ないのかも。EJB3アノテーションでのDIですから。
後、AOPもSpringのポイントとしていますが、これもちょっと疑問。AspectJのポイントカットは、わかりにくいと思うんだけどなぁ。実際の案件で使っている人もわかりづらいといってました。
結局、Springな人がGuiceに移行するのは少ないのかもしれませんね。
追記:コメント欄、よんでみたけど長いなぁ(笑)。
超要約すると、Spring側は

  • 機能の利用者はインターフェース以外は知っているべきではない(アノテーションもだめ)。
    • 侵略的であってはならない。
  • 同じインターフェースを実装するクラスが複数いたときにGuiceはめんどうだ。

という意見で、Guice側は、

  • 同じインターフェースを実装するクラスが複数いるなんてレアケースなんだから、通常のケースが楽になるならそれでよいじゃん。

という意見で、平行線ですね。要約しすぎなので、正確なことを知りたい人は、ちゃんとコメント欄を読んだほうが良いと思いまーす。