为GWT / Spring / Hibernate / PostgreSQL生成服务/ dao层

时间:2010-06-24 16:31:54

标签: java hibernate spring code-generation

我们正在使用GWT 2.0(而不是AppEngine),Spring和Hibernate开发一个webapp,并尝试通过自动生成尽可能多的代码来启动。

我看过spring roo vs appfuse generate service /dao layer。我试过appfuse,但这对我不起作用;此外,GWT的roo尚未完全存在,因为它是里程碑版本。

如果一个工具可以为我生成服务层和DAO层,我应该能够进行实际的业务逻辑和UI连接 - 尽管看起来如果我愿意再等6个月,那么1.1M1版本的Roo可以让我在那里,但我需要马上得到一些东西。

有什么建议吗?

非常感谢

5 个答案:

答案 0 :(得分:3)

我自己没有使用它,但Firestorm/DAO看起来很有希望......

答案 1 :(得分:1)

当前版本中的AppFuse和Spring roo应该提供足够的功能来生成所需的代码。

由于您想要生成Service和Dao图层,因此这里没有与GWT相关的内容。

所以再试一次AppFuse,或者问一下AppFuse的具体问题。

答案 2 :(得分:1)

那么Grails又是GWT plugin呢?

答案 3 :(得分:1)

根据我对服务层的理解,我不知道你将如何生成它;如果写得正确,它应该非常基于您的业务模型,并且不应该完全遵循您的数据库模式。与DAO不同(可以说,实际上我实际上并没有DAO的一对一实体),您不应该为每个实体提供服务,而是您的服务应该使用实体作为其API的一部分来执行单元工作,或提供业务对象,它们是控制逻辑和数据访问之间的抽象层。它也可以是两者的混合体。这取决于应用程序的复杂程度,以及DAO /实体与数据库的密切关系。

编辑:基于你的评论和匆忙,我会使用其他帖子中提到的工具来生成你的DAO层,这将给你一个很好的开始。然后我会创建一个包含所有DAO的Service对象。从那里,您将有权在可测试容器(服务对象)中执行所有业务逻辑。这样可以防止您将其放入控制器中,并且可以让人们可以看到所有业务逻辑方法。随着它的增长,您将看到冗余,以及您稍后可以分离到不同服务对象的逻辑单元。

希望你有时间这样做,但是当我忙得不可开交时,我喜欢把我所有的业务复杂性放在一个服务对象中,而不是许多控制器。你以后做的重构会容易得多。您仍然可以轻松地测试方法,我建议不管匆忙如何,相信我,在服务方法上编写测试比通过部署和检查测试方法更快。

答案 4 :(得分:1)

结帐fastcode。这很漂亮。它需要你的DAO,你可以使用myEclipse自动生成它,并将它们插入fastcode生成漂亮的服务层接口。它使用Spring作为选项来完成所有这些 很酷的是你可以随着数据库的变化一次又一次地对服务层进行更新(与更新的DAO一起)