Spring3とCDIの比較
あくまで2012年の第四半期頃に触ったCDIとの比較なので、今の最新版はいろんなものが解消されてる・・・といいな〜
Scopeの違い
CDIはSeamから継承してるスコープがある(conversation scope)
Springは昔から変わってない
両方とも独自スコープを追加できるのであんまり絶対的な比較にならない気がする(Seasarは出来ないんだよなぁ〜)
AOPの違い
CDIはアノテーションでAOPを使う事を宣言して実際に適用するものはbean.xmlに書く
SpringはXMLに書く必要がある。困ったことにいろんな書き方、種類があるので迷う。
ぶっちゃけSpringって駄目じゃんって思うのはいつもここw
テスト記述の違い
CDIにはテストの方法の標準は無いのでプロダクト独自規格
Springはスタンダードがある(とはいえSpring独自規格って意味では同じ)
周辺ライブラリの量の違い
CDIはちょっと増えてきてはいるけど、まだ少ない
Springは圧倒的に多い。全く関係ないものが独自対応するくらいに多い
CDIにあってSpringに無い機能もある
普通のメソッドの戻りをComponentとして扱ったり(datasourceとかね)
後発なだけに色々工夫してるなぁ〜って気がする