Existe-t-il un utilitaire de génération de CRUD en Java (n’importe quel cadre) tel que Scaffolding in Rails?
-
03-07-2019 - |
Question
Existe-t-il un utilitaire de génération de CRUD en Java, comme Échafaudage dans Rails? Peut être dans n'importe quel cadre ou même des servlets simples. Doit générer des contrôleurs + vues en jsp, pas seulement du code DAO ...
La solution
Spring Roo semble être exactement ce que vous recherchez: la génération de code CRUD, une pureté absolue Le code Java qui peut être créé s’exécute de manière totalement indépendante du framework.
Autres conseils
Grails dispose d'un échafaudage.
Voir le plug-in Eclipse de Telosys Tools à l'adresse http://www.telosys.org/
.Le plug-in se connecte à la base de données, génère un référentiel léger, vous permet de personnaliser le référentiel si nécessaire et génère des beans Java, DAO, des convertisseurs XML, des mappes d'écran (JSP), etc.
.Vous pouvez créer une application Web Data Centric en quelques minutes
JBoss Seam dispose d'un utilitaire de script appelé seam-gen qui créera un échafaudage:
http://docs.jboss.org/seam /1.1BETA2/reference/en/html/gettingstarted.html
Utilisez JHipster . Il est construit sur le célèbre outil d'échafaudage d'extrémité «yeoman». Il ne génère pas seulement votre back-end, y compris les contrôleurs, dao, la sécurité, la gestion des utilisateurs, les métriques système et API, la journalisation, etc. à l'aide de Spring Boot & amp; Spring MVC 4, mais génère également votre front-end en utilisant js angulaire. Vous obtenez également des bonus tels que Grunt, Karma et Bower entièrement configurés et prêts à être utilisés! Parallèlement à cela, vous obtenez également le versioning de la base de données!
Il a également des sous-générateurs pour générer des entités de domaine qui génèrent votre java et le front-end correspondant pour gérer ses données.
Il faut 10 minutes pour lancer une application Web complète.
AppFuse .
Il est très puissant. Peut-être sera-t-il trop puissant pour la tâche en question, mais il le fait bien.
Netbeans a quelque chose comme ça.
Il y a une démonstration ici: http://www.netbeans.org/kb /55/persistence-demo.html
Il existe krank sur Google Code. Je ne l'ai pas encore essayé, mais cela semble prometteur.
Je suis tombé sur cette question et j'ai essayé plusieurs réponses suggérées. Finalement, j'ai trouvé Lightadmin . Il ne génère pas de code CRUD, mais fournit un frontal intéressant aux classes Entity avec très peu de code. Pour rendre l'entité User
disponible via l'interface Web Lightadmin, il suffit de deux modifications dans les fichiers XML, puis d'une classe UserAdministration
:
public class UserAdministration extends AdministrationConfiguration<User> {
/* empty */
}
Vous pouvez configurer les noms de champs (et probablement beaucoup plus) dans cette classe Administration
, mais je le trouve déjà très utile sans configuration supplémentaire. Le guide Mise en route montre vraiment à quel point il est facile. Après ces étapes simples, vous pouvez ouvrir l'interface d'administration via http: // localhost: 8080 / TestApp / admin
.
Découvrez des outils tels que:
MetaWidget http://www.metawidget.org/
ISIS http://incubator.apache.org/isis/index.html (précédemment objets nus)
Ils génèrent des UI " à la volée " mais vous permettent de personnaliser l'interface utilisateur si nécessaire.
Beaucoup mieux que la génération de code.
Depuis que la question a été posée, plusieurs frameworks pour Java ont été publiés. Découvrez Spring Roo et Play Framework . Il existe également un Skyway Builder , qui précède les deux.
Découvrez Tynamo
NetBeans peut générer CRUD pour la base de données existante dans JSF.
Qu'en est-il d'OpenXava http://openxava.org ?
Consultez Minuteproject
.Et essayez ses démos .
En ce qui concerne les technologies
Si vous recherchez seulement ORM + DAO, essayez la piste BSLA-JPA2 (BSLA, architecture de base de couche de base). Il favorise le motif de masque pour faciliter la recherche.
Si vous souhaitez une persistance active axée sur l'enregistrement, consultez JOOQ ou Roo
Si vous voulez des servlets, consultez minuteproject 4 Openxava ou 4 Primefaces
Si vous voulez des portlets, consultez Le constructeur de services Liferay minuteproject générera des service.xml de votre base de données.
Concernant votre modèle
Si vous souhaitez que votre code (Java) respecte la convention Java et non la convention de base de données, utilisez minuteproject. Il dispose d'installations d'enrichissement qui permettent de:
- Entités de package (table / vue)
- Appliquer les conventions de dénomination d'entité / de champ
- Appliquer les stéréotypes / contraintes / validations
- récupérer des relations (one2many, many2one, many2many) s'il manque des clés étrangères ex ici
- Et beaucoup d'autres
Cet enrichissement peut être appliqué individuellement dans un champ / entité / package ou globalement via des conventions ( vous configurez ainsi vos propres conventions ).
Essayez Grails sur http://www.grails.org/
Voir Jspresso - http://www.jspresso.org/
Il dispose de plusieurs front-ends (Flex, HTML / Javascript pur, Swing, etc.) mais ne vous laisse pas beaucoup de liberté sur la partie vue. Cela vaut la peine de vérifier cependant.
N'oubliez pas de Jouer . Extrêmement facile à utiliser. Une fois que vous avez de l’expérience dans ruby ??on rails, il vous sera facile de vous adapter également à Java.
Essayez de generjee
Il génère CRUD et vous fournit un backend avec une interface utilisant des spécifications telles que JPA, EJB, une infrastructure JSF utilisant primefaces, la sécurité java, l'authentification, l'audit, l'exportation Excel et pdf, la gestion des utilisateurs, l'enregistrement des utilisateurs.
Ensuite, vous pouvez télécharger le code source ou le déployer sur heroku. Je l'ai testé et il m'a donné les résultats escomptés
J'ai cela il y a longtemps.
http://mahosoft.com/docs/WhitePaper-WEB-App -Spanish.pdf
Traduction de Google en anglais:
Peut-être obsolète.
Si vous avez un exemple de projet contenant le type d'architecture CRUD (ou autre) de votre choix, Un échafaudage simple pourrait être une approche utile.
Il s'agit d'une classe unique qui analyse votre base de code existante et crée des modèles que vous pouvez ensuite appliquer à d'autres entités. Par exemple, MongoUserDao
peut être transformé en un modèle qui génère ensuite, par exemple, MongoCustomerDao
. Cela fonctionne avec n'importe quel code et les appareils de test.
Très basique, mais fait le travail et c'est FOSS sous licence MIT.
Le référentiel GitHub se trouve ici: https://github.com/gary-rowe/SimpleScaffolding