使用Spring Roo进行概念验证

在Keyhole期间,我参与了许多项目,其中客户要求我们重写旧系统,同时保留其现有数据库。 有时,它有助于快速演示如何使用当前技术来简化开发,测试和维护其代码。

我发现可以创建一个快速示例(与当前项目相关)的一种方法是使用Spring Roo 。 从现有的数据库模式对数据模型进行逆向工程的能力无疑非常有用。

当客户端使用Oracle数据库时,请按照以下步骤操作:

1 。 尽管仅通过命令提示符即可访问Spring Roo,但使用IDE更加容易,而用于此任务的最简单的工具是Spring自己的基于Eclipse的IDE,即Spring Tool Suite(STS)。 您可以从http://spring.io/tools下载最新版本。

lpd80Fx

2 。 下载并设置STS后,请按Ctrl-N以打开“新建”向导(或者您可以选择“文件”->“新建”->“其他...”)。 在过滤器中输入“ roo”,然后选择“ Spring Roo Project”。 点击下一步”。

VL

3 。 现在,只需在前两个字段中填写适当的项目和程序包名称即可。 默认值将适用于其余字段。 再次单击“下一步”,然后单击“完成”以创建新项目。

W3gQExP
cJ2FrVI

4 。 应该发生的是,您的项目将带有一个标记为“ Roo Shell”的视图。 通常,尝试打开该视图时会挂起。 因此,我关闭了该视图,然后右键单击您的新项目,然后选择“ Spring Tools –> Open Roo Shell”。 这次应该很快出现,看起来像这样。

3NC4DDQ

5 。 现在,我们让Roo做好自己的工作,并带领我们迈向一个完整的项目。 继续,在Roo命令行上输入“提示”。 它告诉我们我们需要设置一个持久性配置,因此让我们遵循它给我们的建议。

bAWh04h

6 。 对于此特定示例,我使用带有EclipseLink的Oracle数据库作为持久性提供程序,但是有许多选项,当您在Roo命令提示符下按Ctrl-Space时,Roo会向您显示这些选项。

BQcnS6P

7 。 您会看到,由于不公开提供该驱动程序,Oracle使我们有些困难。 您可以在技术顾问Kerry Wilson的博客文章( 网址为http://www.goodercode.com/wp/spring-roo-database)中了解如何创建由OSO封装的Oracle驱动程序,该版本可以由Roo安装和使用。 -reverse-engineer-with-oracle / 。

voLxxhh

8 。 最后,我们准备好了。 在Roo命令提示符下输入命令“数据库反向工程–package〜.domain –schema PUBLIC”,其中“ domain”是要在其中创建模型的包名称,“ PUBLIC”是要反向的架构的名称工程师。

9 。 Roo会做一些工作,完成后,您将拥有POJO,这些POJO表示数据库表,并带有用于字段和关系的JPA批注。 如果数据库不只是一个非常简单的模型,那么Roo很可能出了点问题。 但是,您确实节省了为架构中的每个表创建实体的时间,因此您可以花费一些时间来解决Roo的错误。

最后说明

虽然我仅讨论了如何使用Roo将数据库架构映射到Java实体模型,但是Roo对于为多种Web技术设置初始配置也很有用。 它可以创建单元测试,添加日志记录,并与GWT , JSF , JMS , Solr , Spring MVC等集成。 最好的部分是,尤其是如果您不在整个项目中不使用Roo时,可以删除所有Roo批注,并且剩下纯Java代码,它们可以作为新项目的基础。

参考: Keyhole Software博客上来自JCG合作伙伴 Brice McIver的使用Spring Roo的概念验证 。

翻译自: https://www.javacodegeeks.com/2014/01/proof-of-concept-using-spring-roo.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/365208.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

z490 linux raid,华硕z490主板装win7系统及bios设置教程(支持10代usb驱动)

[文章导读]我们在组装电脑时,华硕主板可能是大家的首选,最近有网友问,我组装的华硕z490主板电脑怎么装win7系统呢,这里和大家说下,从华硕z490主板后默认是uefigpt引导模式,且官方没有出usb驱动,…

Ember Charts – 基于 Ember D3 的图表库

Ember Charts 是一个基于 Ember.js 和 D3.js 的图表库。它包括时间序列、柱状图、饼图、点图,很容易扩展和修改。这些图表组件代表图表交互性和演示的最佳实践,是高度可定制和可扩展的。您可以添加说明、标签、提示和鼠标悬停效果。 您可能感兴趣的相关文…

swagger内部类_API管理工具Swagger介绍及Springfox原理分析

swagger是一个API框架,号称世界上最流行的API工具。它提供了API管理的全套解决方案,比如API在线编辑器,API UI展示界面,代码生成器等诸多功能。如果想引入swagger进行API管理。目前 springfox 是一个很好的选择,它内部…

[leetcode-108,109] 将有序数组转换为二叉搜索树

109. 有序链表转换二叉搜索树 Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST. 给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。 本题中,一个高度平…

c语言大数相加怎么写,大数相加

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼#include #include /**** 定义双向节点* 数据区为一个整型数字***/struct Node {int number;//数据区,仅一个数字,保存一位数字struct Node * next;struct Node * prev;};typedef struct Node Node;/*** 创建…

苹果深度学习核心“神经引擎”方向性介绍

https://www.chiphell.com/thread-1785739-1-1.html转载于:https://www.cnblogs.com/eustoma/p/9858410.html

骆驼中的事件处理

在上一篇有关骆驼-小水车的帖子中,我介绍了骆驼-小水车的组件,并使用骆驼路线中的规则实现了一些简单的面向任务的过程。 今天,我将展示如何通过添加事件处理来扩展此示例。 那么如何描述一个事件呢? 每个事件在某个时间发生并持…

值得拥有!精心推荐几款超实用的 CSS 开发工具

当你开发一个网站或 Web 应用程序的时候,有合适的工具,绝对可以帮助您节省大量的时间。在这篇文章中,我为大家收集了超有用的 CSS 开发工具。 对于 Web 开发人员来说,找到有用的 CSS 开发工具,就像找到一个魔灯&#x…

matplotlib散点图笔记

定义: 由一组不连续的点完成的图形 散点图: 包含正相关性,负相关性和不相关性. 散点图生成函数: plt.scatter(x,y) 演示代码如下: import numpy as np import matplotlib.pyplot as plt open,closenp.loadtxt(‘000001.txt’,delimiter’,’,skiprows1,usecols(1,4),unpackTrue…

c语言循环嵌套do do while while结构例子,讲解C++的do while循环和循环语句的嵌套使用方法...

用do-while语句构成循环do-while语句的特点是先执行循环体,然后判断循环条件是否成立。其一般形式为:do语句while (表达式);它是这样执行的:先执行一次指定的语句(即循环体),然后判别表达式,当表达式的值为非零(“真”…

nlog官方帮助_Nlog日志组件简介

NLog简介NLog是一个简单灵活的.NET日志记录类库,NLog的API非常类似于log4net,配置方式非常简单。支持多种形式输出日志:文本文件、系统日志、数据库、控制台、邮箱等1.NLog简介在nuget控制台输入安装nlog命令: Install-Package NLog.ConfigNlog配置的方式常用的有两…

怎样在体制内培养出离开体制的能力

你要有随时可以离开而且离开以后比现在过得更好的能力。 这句看似励志的废话,正如告诉一个穷人,你要有随时能够赚钱而且保持财富自由的能力。 这谈何容易呢? 不下到游泳池里怎么能学会游泳。 不离开体制,你离开体制的能力从何培养…

Java 8:开发人员怎么看?

由于Java 8发行倒计时已经开始,因此Java开发人员似乎肯定已经准备好参与其中。 根据Typesafe的一项调查 ,参与其中的开发人员中有65%回答说他们将在24个月的计划中迁移到Java 8,而从中有30%的开发者将在接下来的6个月中…

比较好的一些 ConcurrentHashMap讲解博客

jdk8 https://blog.csdn.net/jianghuxiaojin/article/details/52006118#commentBox jdk7、8 https://crossoverjie.top/2018/07/23/java-senior/ConcurrentHashMap/ jdk7 http://www.yuanrengu.com/index.php/2017-01-17.html 转载于:https://www.cnblogs.com/Draymonder/p/105…

20款漂亮的长阴影 LOGO 设计作品【附免费生成工具】

长阴影(Long Shadow)概念来自于最新非常流行的扁平化设计(Flat Design)。扁平化设计趋势影响最大的是用户界面元素和图标,但它也开始蔓延到其他网页设计的其他部分。 长阴影其实就是扩展了对象的投影,感觉是…

c语言sqlist结构体,c语言里 sqlist

满意答案cielkong2018.08.12采纳率:43% 等级:9已帮助:463人c语言里 sqlist?//定义顺序表L的结构体typedef struct{Elemtype data[MaxSize];int length;}SqList;//建立顺序表void CreateList(SqList * &L,ElemTy…

汇编语言实验三

1. 练习1 第1步,编写汇编源程序t1.asm, 源程序代码如图1-1所示。 (1) 运行程序,观察程序输出结果是什么? 2) 将 line4和line9种寄存器dl 的值分别修改为 0~9 中任何一个数字,重新汇编→ 连接→运行,观察结果的变化。 …

android dp转px的公式_公式px到dp,dp到px android

注意:上面广泛使用的解决方案基于displayMetrics.density。但是,文档解释说这个值是一个舍入值,与屏幕“桶”一起使用。例如。在我的Nexus 10上,它返回2,其中实际值为298dpi(实际)/ 160dpi(默认值) 1.8625。根据您的要…

Java事实让您大吃一惊! (信息图)

随着Java 8计划在未来几天内发布 ,我们正在寻找一些Java事实,这些事实将真正捕捉这种编程语言对世界的影响。 因此,我们决定创建一个简单的图表,描述有关Java历史的一些重要统计数据。 信息的主要来源是Oracle的Java时间轴 。 我…

多线程爬取新闻标题和链接

新闻分页地址:https://news.cnblogs.com/n/page/10/;url中最后一个数字代表页码 from concurrent.futures import ThreadPoolExecutor import threading import time from queue import Queue import logging import requests from bs4 import Beautiful…