RailsのScaffoldingのようなJava(フレームワーク)にCRUDジェネレーターユーティリティはありますか?
-
03-07-2019 - |
質問
RailsのScaffoldingのようなJavaのCRUDジェネレーターユーティリティはありますか?任意のフレームワーク、またはプレーンなサーブレットに含めることができます。 DAOコードだけでなく、jspでコントローラー+ビューを生成する必要があります...
解決
Spring Roo はまさにあなたが探しているもののようです:CRUDコード生成、純粋な出力フレームワークから完全に独立して実行できるように調整できるJavaコード。
他のヒント
Grails には足場があります。
http://www.telosys.org/ でTelosys Tools Eclipseプラグインを参照してください
プラグインはデータベースに接続し、軽量リポジトリを生成し、必要に応じてリポジトリをカスタマイズし、Java Beans、DAO、XMLコンバーター、ScreenMaps(JSP)などを生成します。
数分でデータセントリックWebアプリを構築できます
JBoss Seamには、足場を作成するseam-genと呼ばれるスクリプトユーティリティがあります。
http://docs.jboss.org/seam /1.1BETA2/reference/en/html/gettingstarted.html
JHipster を使用します。人気のあるフロントエンドの足場ツール「ヨーマン」に基づいて構築されています。コントローラ、dao、セキュリティ、ユーザー管理、システムとAPIメトリック、Spring Boot&を使用したロギングなどを含むバックエンドを生成するだけではありません。 Spring MVC4。ただし、アンギュラjsを使用してフロントエンドを生成します。また、うなり声、カルマ、バウアーなどのグッズも完全にセットアップされ、すぐに使用できます!これに加えて、データベースのバージョン管理も取得できます!
また、Javaを生成するドメインエンティティを生成するサブジェネレーターと、そのデータを管理するためのフロントエンドもあります。
完全なwebappを実行するには10分かかります。
AppFuse 。
これは非常に強力です。おそらく、問題のタスクには強力すぎますが、うまく機能します。
Netbeansには次のようなものがあります。
ここにデモがあります: http://www.netbeans.org/kb /55/persistence-demo.html
Google Codeには krank があります。まだ試していませんが、有望に見えます。
少し前後関係があるかもしれませんが、 Java EE
にはJboss Forgeがあります。 。それを使用する例があります。
この質問に出会い、多くの提案された答えを試しました。最後に、 Lightadmin を見つけました。 CRUDコードは生成しませんが、非常に少ないコードでEntityクラスの優れたフロントエンドを提供します。 Lightadmin Webインターフェースを介して User
エンティティを使用可能にするには、XMLファイルに2つの変更を加えてから、 UserAdministration
クラスを必要とします。
public class UserAdministration extends AdministrationConfiguration<User> {
/* empty */
}
この Administration
クラスでフィールド名(およびおそらくそれ以上)を設定できますが、それ以上設定しなくてもすでに非常に便利であることがわかります。 入門ガイドは、それがいかに簡単かを示しています。これらの簡単な手順の後、 http:// localhost:8080 / TestApp / admin
で管理インターフェイスを開くことができます。
次のようなツールをご覧ください:
MetaWidget http://www.metawidget.org/
ISIS http://incubator.apache.org/isis/index.html (以前は裸のオブジェクト)
UIの「オンザフライ」を生成します;必要に応じてUIをカスタマイズできます。
コード生成よりもはるかに優れています。
質問が出されてから、Java用のフレームワークがいくつか出てきました。 Spring Rooと Play Framework をご覧ください。 Skyway Builder もありますが、これは両方の前にあると思います。
NetBeansは、JSFの既存のデータベースのCRUDを生成できます。
OpenXava http://openxava.org はどうですか?
また、デモを試してください。
テクノロジーについて
ORM + DAOだけを探す場合は、BSLA-JPA2(BSLAは基本的なSpring Layer Architectureを意味します)というトラックを試してください。マスクパターンを昇格させて検索を容易にします。
アクティブレコード指向の永続性が必要な場合は、 JOOQ またはRooをご覧ください
サーブレットが必要な場合は、 minuteproject 4 Openxava または 4つのPrimefaces
ポートレットが必要な場合は、 Liferay Service builder minuteprojectは、DBから service.xml 入力を生成します。
モデルについて
コード(java)がDB規則ではなくJava規則に従うようにする場合は、minuteprojectを使用します。次のことを可能にする強化機能があります。
- パッケージエンティティ(テーブル/ビュー)
- エンティティ/フィールドの命名規則を適用する
- ステレオタイプ/制約/検証を適用する
- 外部キーが欠落している場合、関係(one2many、many2one、many2many)を取得ex こちら
- およびその他多く
このエンリッチメントは、フィールド/エンティティ/パッケージで個別に適用することも、規則を使用してグローバルに適用することもできます(独自の規則を構成する)。
Jspressoを参照- http://www.jspresso.org/
複数のフロントエンド(Flex、純粋なHTML / Javascript、Swingなど)を備えていますが、ビュー部分に大きな自由度はありません。確認する価値はあります。
再生を忘れないでください。非常に使いやすい。レール上のルビーの経験があれば、Javaにも簡単に適応できます。
CRUDを生成し、JPA、EJB、primefacesを使用したJSFフレームワーク、Javaセキュリティ、認証、監査、ExcelおよびPDFエクスポート、ユーザー管理、ユーザー登録などの仕様を使用して、フロントエンドとともにバックエンドを提供します。
その後、ソースコードをダウンロードするか、herokuにデプロイできます。 私はそれをテストしましたが、期待した結果が得られました
私はこれをかなり前に持っています。
http://mahosoft.com/docs/WhitePaper-WEB-App -Spanish.pdf
Googleの英語への翻訳:
ただし、古くなっている可能性があります。
必要な種類のCRUD(またはその他の)アーキテクチャを含むサンプルプロジェクトがある場合は、単純な足場は便利なアプローチかもしれません。
これは、既存のコードベースをスキャンして、他のエンティティに適用できるテンプレートを作成する単一のクラスです。たとえば、 MongoUserDao
は、たとえば MongoCustomerDao
を生成するテンプレートに変換できます。任意のコードおよびテストフィクスチャで動作します。
非常に基本的ですが、仕事は完了し、MITライセンスの下ではFOSSです。
GitHubリポジトリはこちらです: https://github.com/gary-rowe/SimpleScaffolding