GROOVY - 技术教程文章

Groovy--使用模板引擎和GroovyShell执行插值字符串【代码】

package curveJudgeimport groovy.text.SimpleTemplateEngine/*** Created by Jxy on 2019/8/26 17:16**/class EngineTest {staticvoid main(String[] args) {def shell = new GroovyShell()def engine = new SimpleTemplateEngine()def map = [‘eg1‘ : 1,‘eg2‘ : 1,‘eg3‘ : 1,‘eg5‘ : 1,‘eg6‘ : 1,‘eg7‘ : 1,‘eg8‘ : 1,‘eg9‘ : 1,‘eg10‘: 1,‘eg11‘: 1,‘eg12‘: 1,‘eg14‘: 1,‘eg13‘: 1,‘eg15‘: 1,‘eg1...

Groovy中closure的delegate

hello.groovyimport groovy.lang.ClosureClosure clos = { println "Hello closure"} println "delegate:" + clos.delegate.class.name; println "owner: " + clos.owner.class.name;clos.call();println "==============================="class C {Closure clos = {println this.class.nameprintln "delegate:" + delegate.class.name;println "owner: " + owner.class.name; def nestClos = {println "in nest delegate:" + del...

[Groovy] 学习Groovy的好网站(内容全面)【图】

https://www.tutorialspoint.com/groovy/index.htm 原文:http://www.cnblogs.com/MasterMonkInTemple/p/7305926.html

「Apache Groovy」- 编写 retry 函数 @20210426【代码】

问题描述在 Jenkins Pipeline 中,通过 retry 函数,能够对某个操作重复进行,直到成功。尤其是在网络请求中,我们更应该使用 retry 函数,以防止服务器负载过高而产生的临时失败。但是,Jenkins Pipeline 的执行速度“较慢”(这是 Jenkins 的优化,防治对服务器产生过大压力),并且会大量产生 Pipeline Step 执行日志,因此我们希望通过 Groovy 实现 retry 函数,并加入一些特性。该笔记将记录:在 Apache Groovy 中,如何实现自...

groovy-搭建环境【代码】【图】

1. 官网http://www.groovy-lang.org/2. 简介是一个基于Java虚拟机的敏捷动态语言。构建在强大的Java语言之上 并添加了从Python,Ruby和Smalltalk等语言中学到的诸多特征。为Java开发者提供了现代最流行的编程语言特性,而且学习成本很低(几乎为零)。支持DSL(Domain Specific Languages领域定义语言)和其它简洁的语法,让你的代码变得易于阅读和维护。Goovy拥有处理原生类型,面向对象以及一个Ant DSL,使得创建Shell Scripts变...

通过 Groovy / Java 自动运行 Sikuli 测试【代码】

import org.sikuli.script.*;public class TestSikuli { public static void main(String[] args) { Screen s = new Screen(); try{ synchronized(s){ //s.click("imgs/spotlight.png", 0); //s.wait("imgs/spotlight-input.png"); //s.type(null, "hello world\n", 0); ...

Groovy在不同JDK版本下的性能差异【代码】【图】

Groovy作为一种动态语言,性能和JAVA比肯定是差不少,根据网友的测试,由于测试环境,场景和编译参数的不同,大概有差2到7倍的差距那么同样的Groovy,在不同的JDK版本下,会有着怎样的差异呢?好奇试了一下 测试代码写得非常简单,如下,为了测试一些动态语言中常用的特性,特别用上了闭包和动态特性,这样才有意义么class GroovyWithJdk{static void run(){1000.times { "fib"(20) } //为了动态特性}static def fib(n){if(n<2)re...

通过bean parser实现spring scan groovy文件装载bean

Spring使用groovy作为bean,官方用了lang标签,但都是一个个文件。Groovy本身编译成class文件后当然可以和Java完全一样可以被component-scan。但是我想实现能够扫描groovy文件,并且groovy文件发生修改时候能够重新load(方便开发环境中提高效率),网上查查了,然后自己摸索了下,简单实现了。思路:1. 通过NamespaceHandlerSupport自己写一个parser,parser和已有的component-scan的区别就是修改了ClassPathBeanDefinitionScanne...

groovy学习(四)io【代码】

package ch5numbers = [11, 12, 13, 14]def staffTel = [‘Ken‘ : 2745, ‘John‘ : 2746, ‘Jessie‘ : 2772]println("Numbers:${numbers}") //双引号中的内容会被解释println(‘Staff telephone:${staffTel}‘) //单引号中的内容不会被解释printf(‘My name is Ken‘, [])printf(‘My name is Ken\n‘, [])def a = 10def b = 15printf("The sum of %d and %d is %d \n", [a, b, a + b])def x = 1.234def y = 56.78printf(‘%f f...

Groory学习(一)之 Eclipse集成Groovy插件【图】

。Groovy插件的地址:http://dist.springsource.org/release/GRECLIPSE/e4.3/Next>>Finish原文:http://my.oschina.net/u/994490/blog/487693

java环境中基于jvm的两大语言:scala,groovy

java环境中基于jvm的两大语言:scala,groovy可以在java项目里混编这两种语言;scala:静态语言,多范式语言,糅合了面向对象、面向过程;可以与java和net互操作;融汇了众多的语言特性,包括类似net的闭包、lambda表达式;正是语言特性较多,语言复杂度也较高~~groovy:动态语言,既可作为面向对象语言又可做脚本语言;拥有动态语言的好处;语法简单~~scala、groovy都是作为java的替代语言,基于jdk1.6可以使用起来像jdk1.8的高级语...

[Training Video - 3] [Groovy in Detail] Non-static and Static variables in groovy【代码】

log.info "starting" // we use class to create objects of a class Planet p1 = new Planet() Planet p2 = new Planet() Planet p3 = new Planet()//Planet.name = "Pluto" illegalPlanet.shape = "Circle" p1.name = "earth" //p1.shape = "circle"p2.name = "jupiter" //p2.shape = "circle"p3.name = "mars" //p3.shape = "circle"log.info p1.name+" "+p1.shape log.info p2.name+" "+p2.shape log.info p3.name+" "+p3...

nGrinder TestRunnerBarrier.groovy / jihedian【代码】

s import net.grinder.script.Barrier import net.grinder.script.GTest import net.grinder.scriptengine.groovy.junit.GrinderRunner import net.grinder.scriptengine.groovy.junit.annotation.BeforeProcess import net.grinder.scriptengine.groovy.junit.annotation.BeforeThread import net.grinder.scriptengine.groovy.junit.annotation.Repeat import org.junit.Before import org.junit.Test import org.junit.runner.R...

Java中使用Groovy实现自定义表达式解析【代码】

Groovy作为一种JVM-Based语言,目前普及程度正在提高。本文演示一下在Java类中,通过继承GDK的groovy.lang.Script类如何支持自定义表达式解析功能。 输入: 表示一行数据的某个map结构。在实际应用中,产生这种结构的最常见场景可能是通过JDBC访问数据库、通过调用WebService服务得到的某行结果集等。目标设定: 假设我们希望对输入数据进行某个运算。此处示例中,我们模拟oracle中最常用的nvl函数。 处理过程: 首先,通过继...

JMeter中Groovy和BeanShell脚本的性能比较【图】

比较完常见后置处理器的性能之后,又顺便比较了下Groovy和BeanShell2者都是基于JVM的脚本语言,2者都能直接用Java的语法和类库这些国外网站都推荐用Groovy:http://jmeter.apache.org/usermanual/best-practices.htmlhttp://www.ubik-ingenierie.com/blog/magento-performance-toolkit-and-jmeter-best-practices/https://blazemeter.com/blog/beanshell-vs-jsr223-vs-java-jmeter-scripting-its-performance因为JMeter支持的一堆脚...

Jenkins groovy 修改build 结果为success或者failed【代码】【图】

有时候遇到jenkins 的build result并不是真正想要的状态,比如check是否有代码更新,如果没有代码更新,build result为failed,但是其实并没有编译,failed状态会造成误解。想要把failed强制改成success。可以使用Groovy强制修改状态。使用Groovy postbuild插件 import hudson.model.Result String desc = "Build Skipped" manager.build.setDescription(desc) manager.build.@result = hudson.model.Result.SUCCESS jenkins自带...

[转载] 详述三种现代JVM语言--Groovy,Scala和Clojure

转载自http://www.tuicool.com/articles/jYzuAv和http://www.importnew.com/1537.html在我与Martin Fowler曾经合作呈现的一次主题演讲中,他作出了一个有洞察性的观点:Java的遗产将是平台,而不是程序设计语言。Java技术的原始工程师们作出了一个明智的决定,就是将编程语言与运行时环境分开,最终这使得超过200种语言能够运行在Java平台上。这种架构对于该平台的长期活力是至关重要的,因为计算机程序设计语言的寿命一般都是比较...

[Training Video - 3] [Groovy in Detail] Non-static functions and Static functions,initializing log inside class,Objects and object referances【代码】

Planet.log = loglog.info "starting" // we use class to create objects of a class Planet p1 = new Planet() Planet p2 = new Planet() Planet p3 = new Planet()//Planet.name = "Pluto" illegalPlanet.shape = "Circle" p1.name = "earth" //p1.shape = "circle"p2.name = "jupiter" //p2.shape = "circle"p3.name = "mars" //p3.shape = "circle"log.info p1.name+" "+p1.shape log.info p2.name+" "+p2.shape log.info...

Groovy基础——MetaClass详解【代码】

一、拦截方法调用和参数获取 示例1: class MyClass{ def hello(){ ‘invoked hello directly‘ } def invokeMethod(String name, Object args){ return "unknown method $name(${args.join(‘, ‘)})" } } def mine= new MyClass() assert mine.hello() == ‘invoked hello directly‘ assert mine.foo("Mark", 19) == ‘unknown method foo(Mark, 19)‘ 首先我们在groovy脚本中定义了一个Myclass对象,在groovy中任何的...

java调用groovy实例

1.maven引入groovy jar包 <dependency> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy-all</artifactId> <version>2.1.9</version> </dependency>2.调用 import groovy.lang.GroovyShell;public class TestGroovy { public static void main(String[] args) { // TODO Auto-generated method stub GroovyShell groovyShell = new GroovyShell(); Object resultObj; int x = 1; groovyShell.setVaria...

groovy+idea+Maven项目加载自身jar包【代码】

<dependency><groupId>fishman</groupId><artifactId>JMJ_API</artifactId><version>1.0</version><scope>system</scope><systemPath>${project.basedir}/lib/JMJ_API.jar</systemPath> </dependency>注意1.<scope>system</scope>2.<systemPath>${project.basedir}/lib/JMJ_API.jar</systemPath> 原文:http://www.cnblogs.com/duwenlei/p/3810082.html

Groovy入门 | 基础语法【代码】

Java的东西Groovy都能用,包括语法和类库public static void main(String[] args) {// 重要的事情说3遍for (int i = 0; i < 3; i++) {System.out.println("Java的东西Groovy都能用");}// 再3遍for (i in 0..2) {println ‘Java的东西Groovy都能用‘}// 又3遍3.times {println ‘Java的东西Groovy都能用‘} }1)Groovy继承了Java的所有东西,就是你突然忘了Groovy的语法可以写成Java代码,也就是Groovy和Java混在一起也能执行。2)G...

Spring4.0支持Groovy配置

介绍 前一段时间观注了一下Spring4.0的一些特性,其中就有对Groovy配置的支持。由于暂时还没有非常深入的研究,所以举个小例子来说明一下如何支持Groovy配置。package shuai.study.spring.bean;public class Gasoline {private int capacity = 0;public Gasoline(int capacity) {this.capacity = capacity;}public int getCapacity() {return this.capacity;} }package shuai.study.spring.bean;public class Car {private Stri...

连接到MySQL时,是否可以在groovy中创建数据库?如果是这样,怎么样?【代码】

似乎需要一个现有的数据库来连接到groovy中的数据库服务器.但是,如果我想创建一个新数据库怎么办?连接到MySQL时,是否可以在groovy中创建数据库?如果是这样,怎么样?先感谢您.解决方法:连接MySQL时没有必要包含数据库名称.如果未指定名称,则不会选择数据库,您可以通过运行以下命令来创建数据库:import groovy.sql.Sql def sql = Sql.newInstance("jdbc:mysql://localhost:3306","root","","com.mysql.jdbc.Driver") sql.executeU...

基于AngularJS+HTML+Groovy实现登录功能_AngularJS

AngularJS是开发基于浏览器的响应式RWD应用程序的一个前端MVC框架,由谷歌最初开发的 开源项目,干净的架构吸引了大量粉丝,适合建立CRUD类型的业务应用程序,并不适合开发游戏等应用, 使用声明性编程的用户界面和命令式编程的逻辑, 支持现代桌面和移动浏览器 Internet Explorer版本8.0及以上。 AngularJS是一款客户端MVC的javascript框架,而客户端MVC代表未来架构(为什么要使用MVC+REST+CQRS架构),如果你有Struts或SpringMVC等...

基于AngularJS+HTML+Groovy实现登录功能

AngularJS是开发基于浏览器的响应式RWD应用程序的一个前端MVC框架,由谷歌最初开发的 开源项目,干净的架构吸引了大量粉丝,适合建立CRUD类型的业务应用程序,并不适合开发游戏等应用, 使用声明性编程的用户界面和命令式编程的逻辑, 支持现代桌面和移动浏览器 Internet Explorer版本8.0及以上。 AngularJS是一款客户端MVC的javascript框架,而客户端MVC代表未来架构(为什么要使用MVC+REST+CQRS 架构),如果你有Struts或SpringMVC...

[Groovy]SoapUI怎样支持对数据库的操作

Groovy 有支持数据库的类库: 在Bing中搜索sql groovy,可以找到 Sql (Groovy 2.4.3),点击即打开这个网址: http://docs.groovy-lang.org/latest/html/api/groovy/sql/Sql.html 通过Groovy的Class Sql可以连接到数据库,并对数据进行增删改查的操作,简称为CRUD CRUD means :Create , Retrieve , Update, Delete Groovy可以支持各种不同的数据库:MySQL, SQLServer, Oracle 但不同的数据库需要下载不同的JAR包来支持,下载后...

[DataSource] Properties 以及 DataSource 各个选项的含义:Data Connection,Directory,Excel,File,Grid,Groovy,JDBC,XML【图】

http://www.soapui.org/about-soapui-pro/working-with-soapui-pro.htmlDataSource type dropdown – lets you pick which external source you would use to pull into your test case. Excel – Point to an Excel (xls) file JDBC – Connect to a database and pull data with a select statement or a stored procedure File – For CSV or other delimited files Grid – Manually define rows of data right in the ...

TestRunnerInsertMysqlSingle.groovy【代码】

C:\Users\Lindows\Desktop\lab\groovy\libs 1 asm-3.3.1.jar2 commons-lang-2.6.jar3 commons-lang3-3.3.2.jar4 commons-logging-1.0.4.jar5 grinder-core-3.9.1.jar6 grinder-dcr-agent-3.9.1.jar7 grinder-http-3.9.1.jar8 grinder-http-patch-3.9.1-patch.jar9 grinder-httpclient-3.9.1.jar 10 grinder-httpclient-patch-3.9.1-patch.jar 11 grinder-patch-3.9.1-patch.jar 12 hamcrest-all-1.1.jar 13 json-20090211.jar 14 ...

TestRunnerInsertMysqlMore.groovy

package com.iteye.lindows.mysql2 3 import junit.framework.Assert4 import net.grinder.script.GTest5 import net.grinder.scriptengine.groovy.junit.GrinderRunner6 import net.grinder.scriptengine.groovy.junit.annotation.AfterThread7 import net.grinder.scriptengine.groovy.junit.annotation.BeforeProcess8 import net.grinder.scriptengine.groovy.junit.annotation.BeforeThread9 import org.junit.Test 10 import...