Seasarは、V2からDIContainer with AOP(S2Container)になりました。トランザクションの自動制御、トランザクションと連動したコネクションプーリングをPOJO(普通の Javaのクラス)から簡単に利用できます。もう重厚なアプリケーションサーバは必要ありません。TomcatやJettyのようなServletコンテナ上でS2Containerをさくっと動かせばよいのです。S2のテーマは次の2つです。
トランザクション管理やコネクションプーリングといった機能は、これまで(ほとんどの場合)アプリケーションサーバ内でしか使えませんでした。そのため、テストをするのも一苦労でした。Inコンテナアプローチのテストも結構めんどくさいものです。S2では、トランザクション管理やコネクションプーリングといった機能を通常のコンポーネントとして提供します。アプリケーションサーバなしで利用できるのです。J2EEの複雑さを取り除き、おいしいところだけを利用できるようになってます。
From version 2, Seasar became a DI Container with AOP ("S2Container"). Features such as transaction auto-management and transaction-related connection pooling can now be used by POJOs (Plain Old Java Objects). You don't need a heavy application server any more, just execute S2Container on a Servlet container such as Tomcat or Jetty. The two themes of S2 are:
Previously, features like transaction management or connection pooling could not be used without an application server. For this reason, it was hard to do testing with such an in-container approach. S2 provides transaction management and connection pooling as a plain component. You can use them without an application server. S2 was created to remove the complexity of J2EE, and to use only the best features of J2EE.