我现在正在玩Java,Groovy和Scala . Groovy允许编写除了类之外的脚本,这通常被认为是Groovy的一大优势,因为您可以使用相同的语言编写应用程序和脚本 .
你能告诉我一些使用Groovy脚本有意义的用例吗?
对我来说,脚本就像unix shell脚本,它复制文件或类似的东西 . 此外,我使用JACL和Jython脚本进行WebSphere Application Server部署 .
我的问题:我什么时候应该使用Groovy脚本?我应该使用它们来复制文件而不是unix shell脚本(因此,我使用相同语言的类和脚本以便于维护)或者我应该何时使用Groovy脚本?
谢谢 .
最好的问候,凯
4 回答
我发现Groovy脚本非常适合经常更改的任务,并受益于Java库的广泛可用性 . 它们的使用使我能够快速响应动态业务流程,例如与JDBC的数据集成,使用Apache Commons的文件传输以及使用BouncyCastle的加密 .
Groovy脚本在JVM中解释 . 这使我们能够在运行时动态修改程序的行为 . 运行时可配置性是许多类型应用程序中的重要特性 . 例如,在Web应用程序和业务流程驱动的应用程序中,通常可以在运行时更改条件流或分支 . 使用Groovy,您只需要更改脚本并使其在某个标准位置可用,应用程序可以从中获取并执行该脚本 .
还有一些其他脚本语言可供使用,但Groovy具有额外的优势,它可以与可用的Java对象和库进行良好的交互,使其非常适合Java应用程序 .
我喜欢groovy脚本,因为它们是以编程方式与Maven构建进行交互的最简单方法 . 只需使用Gmaven plugin,您就可以编写可以在运行时修改项目结构的Groovy脚本(内联或外部文件)(而您必须在单独的项目中编写自定义插件以在Java中执行此操作) .
Groovy脚本也适用于DSL(http://en.wikipedia.org/wiki/Domain-specific_language) .
一个很好的例子就是构建工具Gradle(http://www.gradle.org/) .