JavaWebアプリでのWebフレームワークの使用を調査しています。私の基本的な要件は、保守性、テスト性が非常に簡単で、繰り返しがないことです。
ある種のフロントコントローラーパターンとビュー用のJSPを使用して、独自のMVCタイプのアプリを作成することを検討しました。これの利点は、Webアプリのすべての側面を完全に制御できることです。適切に設計すれば、将来、よりテストされたフレームワークに移行することは難しくありません。しかし、欠点は、いわば車輪の再発明をしなければならないということです。
現在利用可能なWebフレームワークについて良いことを聞いています。私が注目しているテクノロジーには、Spring、Wicket、Struts、Guice、Hibernate、Tapestryなどがあります。
タペストリーとウィケットには少し警戒しています。それらについてはあまりよくわかりませんが、サーブレット->モデルjsp->ビュー式から逸脱しているようです。私はそれで快適かどうかわかりません。ただし、Wicketは実際にはGuiceに最適であり、非常にテスト可能であると聞いています。
Springはぴったりのようですが、すべてを実行しようとするフレームワークには非常に警戒しています。spring-MVCを使用したいのですが、他のコンポーネントに交換できますか?たとえば、Spring-MVCをフレームワークとして使用しながら、GuiceをDIエンジンとして使用できますか?
Strutsについて簡単に説明しましたが、ニーズに対して非常に複雑であり、完全なパッケージのようです。
私はHibernateを使用したことがありませんが、ORMの標準のようであり、ActiveRecordのようなものであれば(私は少ししか触れていません)、それが私のニーズに合っていると確信しています。
私もGuiceを実際に使用したことはありませんが、人々はそれを本当に気に入っているようです。実際のアプリケーションでどのように使用されているかはわかりませんが、私は一般的にDIのファンです。
基本的に、私はサーブレット/JSPを書くことに本当に自信があります。私は代替技術を学ぶことに反対していませんが、どれが本当に私に利益をもたらすかについてのアドバイスを探しています。
サーブレットとJSPを使用してMVCアプリを作成できる場合、Springを組み込む価値はありますか?または、サーブレット/ JSPを使用して、GuiceのようなDIエンジンを組み込む必要がありますか?
ORMにHibernateを使用したいと確信していますが、かなり複雑になる可能性があると聞いています。私が本当に探しているのは、POJOをデータベースにマップする方法だけです。したがって、より適切で使いやすいものがあれば、それを調べてみます。
私は道に迷い、その地域の知識のある人々からの少しの指示を探しています。これらの問題についての意見をいただければ幸いです。ありがとう!