研修の続き

Abator というツールを知った。iBatis 用のソースとかを生成するツール。だけど Abator が吐き出したコードはコンパイルエラーになった。jar が足りないらしい。iBatis の Dao が無い。iBatis のサイトでダウンロードしようとしたら iBatis の Dao は deprecated だった。俺は最新版の iBatis を使っていた。古いのを使う気は無い。その後になって Ibator というツールを知った。Abator の後継だった。Ibator が吐き出したコードはコンパイルエラーを起こさなかった。
Spring に iBatis を無事に連携させる事が出来た。宣言的トランザクションが出来た。@Transactional というアノテーションを付ける事によって出来る。@Component, @Repository, @Scope というアノテーションも知ったので使った。ApplicationContext.xml は小さくなった。
java の経験が浅い俺は Spring とかのフレームワークを最近になってまともに勉強し始めた訳だけど、勉強してて思うのは迷走感だな。java ってフレームワークとか沢山あって、それを嬉々として使う連中が沢山居るじゃん。嬉々として奨めるコンサルタントに乗せられて使うどっかの管理職やその下の SE やプログラマ。特に何も考えて無いんじゃないかって思う。DI って実装と依存関係を切り離したいってのが目的じゃん。だから xml に切り離した。それをアノテーションという形でソースコードに戻してるんだよね。何がしたいのかって思う。確かに new せずにアノテーションを使う事によって得られるメリットは間違い無くある。だけど何だかなあって思うよ。アノテーションを使って DI して「かっけーこのソース!俺ってすげー!」みたいなそんな次元の感触があって、素直に受け入れ辛いなあって思った…。
それにしても java って重いよなあ。所詮は java だ。CGLIB2 が自動生成したコードも重そう。俺の好きなネイティブには遠く及ばない。java なんてオモチャみたいなもんだ…。
Acegi は古いって事を知った。今は Spring Security になってるそうだ。今はそれを組み込もうとしている。