我在Spring Roo中弄脏了,我已经设法为Oracle数据库设置了持久性。虽然我已经完成了Roo documentation 但对我来说 理解这个框架的工作 还不够。
我不知道 Spring-MVC , Spring-Web Flow 和 AspectJ 而不是我对Struts,Tapestry等框架的了解和GWT。这可能是学习Spring Roo的障碍。
请告知我,因为我已经没有耐心攻击Spring Roo生成的代码了。我跳进Spring Roo项目是不是很好?
答案 0 :(得分:1)
Spring ROO只是一个命令行界面,用于生成很多通常需要编写的样板代码,以便在java项目中完成任务。
如果要将GWT添加到项目中,只需在创建模型后键入“gwt setup”,并在项目中获得全面的GWT支持。
在Roo中生成的默认视图使用Apache tile,类似于Struts,Tapestry和JSF。
如果你想使用网络流,只需输入“网络流”,它就会为你集成,对于支持struts,你需要一个插件,我看到其中有几个漂浮在网络上,没有测试过任何一个;同样适用于tapestry,您既可以使用tapestry插件,也可以手动进行集成。
在Roo生成的脚手架的上下文中,AspectJ用于隐藏使代码看起来像意大利面条的所有样板代码,您可以将代码从aspectJ生成的文件移动到您自己的java文件中,并在需要时修改它们。 / p>
至于黑客攻击,需要花费大量的耐心和时间来充分了解你应该在哪里改变内容以及你不应该在哪里,我只能说,快乐的黑客攻击: - )
答案 1 :(得分:1)
Spring Roo不仅仅是代码生成器。如果您在实体中进行更改,它将自动更改代码。更像是有状态代码生成器。首先,您需要找到Spring Roo中可用的命令来配置项目。
您可以配置要使用的数据库,要使用的orm,是否要使用单元测试或要使用的视图技术。给出命令,Roo负责处理它。您无需担心要下载哪些库,如何为Maven制作pom文件。
使用Spring Roo获得的配置非常标准。我在以前的项目中使用过它。生成的代码不是最佳的,例如,如果您认为生成的代码是详细的,则可以使用泛型daos而不是Roo生成的DAO。
另一个例子说,在Flex中,您可以使用Roo为Flex客户端和J2EE服务器之间的通信生成配置。对于我的情况,我使用flexley客户端的parsley和observer模式而不是Spring Roo生成的代码。但是通过查看代码,Roo-Flex团队所写的内容也教会了我很多东西。 GWT和Spring MVC也是如此。
所以我所说的是,作为程序员,我们不仅需要编写代码,还需要阅读其他编写的内容。我坚信这是学习和分享最佳实践的好方法。您可能会得到一些代号,但如果您知道如何应用设计模式或者可以对它们进行增强,那么这些代码将成为宝石。
学习曲线?一点也不。命令就像DOS命令一样简单。
答案 2 :(得分:0)
springroo基于许多技术,但springroo所做的就是帮助您使用可安装的大量插件生成脚手架代码
至少这是我在学习它三天后对这个框架的看法