はい、知っています。最高の Web フレームワークについての古い質問ですが、説明させてください。
RESTful な対話を可能にし、Web GUI の構築にも適した Java Servlet ベースの Web フレームワークを探しています。
私が欲しいもの:
- http コンテンツ ネゴシエーションと適切な URL マッピングによる REST サポート
- リクエスト パラメータからドメイン オブジェクトへのデータ変換 (理想的には逆方向も)
- Webへのインターフェースとしてドメインオブジェクトを複製する必要はありません(ストラットのように)
- 簡単な EJB 統合
- 依存性注入は Java EE サーバーで実行する必要があります
- わかりやすいコード (Spring MVC のクラスパス内のコンポーネントのマジック ワイヤリングは好きではありません)
- 構成が簡単 (Spring で魔法のように構成されていないものは、コンテナーで構成するのが面倒です。直接の依存関係を好む場合もあります)
- たとえば、JPA や BeanValidation などを使用し、フレームワークによって再発明しないようにするか、少なくともこれらの標準を使いやすくする必要があります。
- フォームのエラー表示による検証サポート
- 国際化のサポート
候補者:
Spring MVCは強力ですが、Spring の構成にうんざりしていて、プログラミング モデルが好きではありません。これは少し抽象的で柔軟すぎるため、多くの構成が必要になると思います。そして、Spring MVC がアノテーションを使用する方法が好きではありません。しかし、出力パラメータを介して値を返すメソッドなど、いくつかの設計上の欠陥もあり
return
ます - 本当に醜いです! Spring MVC は Spring DI に大きく依存しているため、Java EE 依存性注入で Spring MVC を使用するのは簡単ではないと思います。Rooはクールに思えますが、Spring MVC アプリを作成する別の方法にすぎず、AOP でいくつか奇妙なことを行います。
Strutsはやや扱いにくく、時代遅れです。
Stripes ActionBean のアプローチは、Struts より優れているようには見えません。私はそれが気に入りません。
- Grailsは素晴らしいですが、バグがあります (少なくとも 1.2 より前)。車輪の再発明: たとえば、Gorm よりも JPA を好みます。
10 の最高の Java Web フレームワークも参照してください。
Wicket、Tapestry、JSF など、サーバー上で UI 状態を持つフレームワークを探しているわけではありません。このアプローチは、Web の基本原則に反していると思います。
じゃあ何をすればいいの?フレームワークをゼロから作成しますか? ふーむ ...
古典的なブラウザ GUI をサポートする JAX-RS のようなものが欲しいです。たとえば、フレームワークは検証をサポートし、検証エラーを再表示されたフォームに入れる必要があります。そのようなものはありますか?推奨事項はありますか?