SpringFramework+Hibernateのバージョンを何も考えずにあげてみた

 Springのバージョンは2.0のいくつとかだった。バージョンをあげたらオートインジェクションができるということで(え、2でもできる?)、まあ最新にしとくかと2.5にする。XMLの書き方は換わるところは変わる。
 オートインジェクションので参考にしたサイト http://blogs.wankuma.com/kazuki/archive/2009/02/10/167926.aspx(おちてた。。)
 闇雲にやってみるとトランザクションのところも変えないとダメらしいのでhttp://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/ からHibernateとか探してコードだけみる。
 適当にこれだろうとやっていると、hibernateもおかしいので、hiberanteも最新らしい3.3.2.GAをもってWEB-INF/libにつっこむ。slf4jとか何それ知らネな依存するjarがあったので、それも探して、近所にいたものとかまるごといれる。
 こういうのをいまどき手でやるのかいまはMavenだろ!と自分につっこみつつ。
 さて起動してみたら、「java.lang.NoClassDefFoundError:Could not initialize class org.hibernate.cfg.Configuration」とか嫌な感じのエラー。クラスあるじゃん、クラスあるのにどゆことよ?とぐぐる
 http://forum.springsource.org/showthread.php?t=65296で、2ページあったので2ページ目をみたら、「へい Andrei、君の言うとおりにjarをいれたらうまくいったぜ!」とかいっているので、1ページに戻る。親切なAndreiさんは、こいつらちゃんとクラスパスにはいってるかい?dom4j-1.6.1.jarlog4j-1.2.15.jarslf4j-api-1.5.0.jarslf4j-log4j12-1.5.0.jarといっているので、めけめけつっこんだり。
 再び起動すると、log4jやloggingとかうんにゃらでループするという奇怪な事態。無差別にjarを突っ込んだのが原因の模様なので、不要そうなやつを削除し、logとか名の付いているものも削除して、コンパイルに必要なものと、再度起動してエラーがでるやつだけいれる。そうするとうまくいったー。しかしトランザクションの定義が本当にうまくいっているかは不明。トランザクションについては結構いらなくなる記述があるようだが、XMLの量が減るのはいいこっちゃ。いまある定義もオートインジェクション出来そうだがまだわからん。