前回の記事でDIコンテナ(Spring)を使ったアプリケーション開発の例を出してみましたが、DBのトランザクション処理(DB接続の取得とか、コミットとかロールバックとか)はいつの間にか行なわれてしまっていて、あれでどうして動くのかよくわからなかった人もいると思います。 今回はそのトランザクション処理の部分にフォーカスをあててみたいとおもいます。 DIコンテナによるトランザクション管理 MyBatis単体で書いた場合と比較してみる DIコンテナが何をしていたのか説明する前に、「もしSpringが無かったらどうやって書いていたはずだったのか」というのを示したいと思います。両者を対比をする事でDIコンテナの存在意義やDIという考え方の面白さがわかってくるかもしれません。 ではさっそく、前回作ったCard管理アプリケーションを、SpringなどのDIコンテナを使わないように直してみます。 コード中