Groovy Yeni Başlayanlar İçin Senaryo Eğitimi

⚡ Akıllı Özet

Groovy Script, nesne yönelimli bir dildir. Java JVM bayt koduna derlenen bir platform. Dinamik tip ekler.ping, kapanışlar ve özlü sözdizimi Javave bu ona güç veriyor. Jenkins boru hatları, Gradle inşa eder ve SoapUI iddialar.

  • 🧩 Java uyumlu: En geçerli olanı Java Kod, derlendiğinde hiçbir değişiklik olmaz. GroovyBu sayede öğrenme maliyeti çok düşük kalır.
  • ⚡ Less şablon: Tek bir println satırı, sınıfı, main metodunu ve System.out çağrısını değiştirir. Java talepleri.
  • 🔀 Dinamik typing: `def` anahtar kelimesi, bir değişkenin çalışma zamanında hem tamsayı hem de dize tutmasına olanak tanır.
  • 🔁 Kompakt halkalar: "upto", "times" ve "step" yöntemleri, uzun ve karmaşık C tarzı for döngülerini tek satırda değiştirir.
  • ???? Yerel koleksiyonlar: Listeler ve haritalar, temel söz dizimine ek olarak pop, keySet ve sort gibi yardımcı fonksiyonlara sahiptir.
  • ???? Kapanışlar: Kod blokları nesne gibi davranır, parametre alır, değer döndürür ve diğer kapalı fonksiyonların içine yerleştirilebilir.
  • ⚙️ Üç araç: groovysh bir kabuk (shell) sağlar, groovyConsole bir grafik arayüzü (GUI) sağlar ve groovy doğrudan komut dosyalarını çalıştırır.

Groovy Yeni Başlayanlar İçin Senaryo Eğitimi

Nedir Groovy Senaryo?

Apache Groovy nesne yönelimli bir dildir. Java Sözdizimiyle uyumlu, aşağıdaki amaçlar için geliştirilmiş programlama dili Java platform. Bu dinamik dil, birçok açıdan benzer özelliklere sahiptir. PythonRuby, Smalltalk ve Perl. Groovy kaynak kod derlenir Java bayt kodu olduğundan, herhangi bir platformda çalışır. Java Sanal makine kuruldu. Groovy Ayrıca perde arkasında da birçok iş yapıyor, bu da onu sıradan bir sisteme göre daha çevik ve dinamik kılıyor. Java.

A Groovy senaryo sadece bir .groovy İçinde ifadeler bulunan dosya Groovy Çalıştırmadan önce oluşturulan bir sınıfın içine sarılır. Bu nedenle, bir sınıf veya kod yazmadan tek satırlık bir dosyayı çalıştırabilirsiniz. main yöntemi. Groovy Bu nedenle, aşağıdaki amaçlar için bir betik dili olarak kullanılabilir: Java Platform, kurumsal yetenekleri sunmaya devam ederken aynı zamanda JavaDSL desteği, kapatmalar ve isteğe bağlı dinamik tip gibi üretkenlik özellikleri ekler.pingDiğer bazı dillerin aksine, bir yardımcı dil olarak tasarlanmıştır. JavaOnun yerine geçecek bir şey değil.

💡 İpucu: Groovy 5.0, mevcut kararlı sürüm hattıdır ve JDK 11 ve üzeri sürümleri hedeflemektedir. Groovy 4.0 sürümü JDK 8 projeleri için kullanılmaya devam etmektedir ve Groovy JDK 17 için 6.0 sürümü hala alfa aşamasındadır. Bir sürüm seçmeden önce her zaman resmi indirme sayfasındaki sistem gereksinimleri tablosunu kontrol edin.

Neden Şimdi Groovy?

İşte kullanmanız ve öğrenmeniz için başlıca nedenler. Groovy:

  • Groovy Çevik ve dinamik bir dildir.
  • Mevcut tüm sistemlerle sorunsuz bir şekilde entegre olur. Java nesneler ve kütüphaneler.
  • Kolay ve doğal geliyor. Java geliştiricileri.
  • Kod, eşdeğerine göre daha özlü ve daha anlamlıdır. Java kodu.
  • İç mekanda dilediğiniz kadar kullanabilirsiniz. Java uygulamaları.
  • Standart işletim sisteminde çalışır. Java Sanal makineBu nedenle ayrı bir çalışma ortamına gerek yoktur.

Groovy Tarihçe

  • 2003: James S. tarafından başlatıldıtracHan ve Bob McWhirsahip olmak.
  • 2004: Sunuldu Java Daha sonra geri çekilen JSR 241 numaralı Topluluk Süreci.
  • 2005: Geri getirildi tracJeremy Rayner ve Guillaume Laforge tarafından.
  • 2007: Groovy 1.0 yayınlandı.
  • 2012: Groovy 2.0 yayınlandı.
  • 2014: Groovy 2.3 sürümü, JDK 8 için resmi destekle birlikte yayınlandı.
  • 2015: Groovy Apache Yazılım Geliştirme Merkezi'nde üst düzey bir proje haline geldi. Foundation.
  • 2022: Groovy 4.0 sürümü yayınlandı, Maven koordinatları da taşındı. org.apache.groovy.
  • 2025: Groovy JDK 11 ve üzeri sürümler için 5.0 sürümü yayınlandı.

Özellikleri Groovy

  • Liste, harita, aralık ve düzenli ifade sabitleri.
  • Çoklu metotlar (çalışma zamanı metot yönlendirmesi) ve metaprogramlama.
  • Groovy Sınıflar ve komut dosyaları genellikle şurada saklanır: .groovy dosyaları.
  • Komut dosyaları şunları içerir: Groovy Herhangi bir sınıf bildirimi olmayan ifadeler.
  • Komut dosyaları, sınıf tanımlarının dışında da yöntem tanımları içerebilir.
  • Groovy Kod derlenebilir ve geleneksel bir sistemle tamamen entegre edilebilir. Java uygulama.
  • Haritalar, listeler ve düzenli ifadeler için dil düzeyinde destek.
  • Kapanışlar için destek, dinamik tippingve meta-nesne protokolü.
  • Hem statik hem de dinamik tip desteğipingAyrıca, operatör aşırı yüklenmesi de söz konusu.
  • İsteğe bağlı statik tip kontrolü aracılığıyla @TypeChecked hem de @CompileStatic ek açıklamalar.

Nasıl Kurulur Groovy

) 1 Adım Sahip olduğunuzdan emin olun Java yüklü.

) 2 Adım MyCAD'de yazılım Güncelleme ye git https://groovy.apache.org/download.html Ve tıklayın Windows yükleyici bağlantısı.

Groovy Kurulum dosyasının bağlantısını içeren indirme sayfası

Not: Ayrıca yükleyebilirsiniz Groovy İkili Zip dosyasından, SDKMAN!, Homebrew, Scoop veya Chocolatey gibi bir paket yöneticisi aracılığıyla veya uygulamanız için bir eklenti olarak edinebilirsiniz. Java IDE. Bu Groovy Bu rehberde şunlara sadık kalacağız: Windows yükleyici.

) 3 Adım İndirilen kurulum dosyasını çalıştırın. Dili seçin ve Tamam'a tıklayın.

Groovy yükleyici dil seçimi iletişim kutusu

) 4 Adım Karşılama ekranında İLERİ'ye tıklayın.

Groovy yükleyici karşılama ekranı

) 5 Adım Lisans koşullarını kabul ediyorum.

Groovy yükleyici lisans sözleşmesi ekranı

) 6 Adım Yüklemek istediğiniz bileşenleri seçin ve İLERİ'ye tıklayın.

Groovy yükleyici bileşen seçim ekranı

) 7 Adım Kurulum dizinini seçin ve İLERİ'ye tıklayın.

Groovy yükleyici kurulum dizini ekranı

) 8 Adım Başlat Menüsü klasörünü seçin ve İLERİ'ye tıklayın.

Groovy yükleyici Başlat Menüsü klasör ekranı

) 9 Adım Kurulum tamamlandıktan sonra, yolları varsayılan değerlerinde bırakın ve İLERİ'ye tıklayın.

Groovy yükleyici ortam yolu ekranı

) 10 Adım Dosya ilişkilendirme seçeneklerini onaylayın ve İLERİ'ye tıklayın.

Groovy yükleyici dosya ilişkilendirme ekranı

) 11 Adım Başlat Menüsünde arama yapın Groovy Kurulumu onaylamak için konsol.

Başlat Menüsü araması gösteriliyor Groovy Konsol kısayolu

⚠️Uyarı: MKS Windows Bu yükleyici, resmi bir Apache sürümü değil, topluluk tarafından oluşturulmuş bir üründür. Kuruluşunuz imzalı Apache indirmeleri gerektiriyorsa, ikili Zip dağıtımını kullanın ve doğrulayın. .asc imza ve .sha256 Bunun yerine sağlama toplamını kullanın.

Groovy Merhaba Dünya Örneği

Diyelim ki "Merhaba Dünya" gibi basit bir metni yazdırmak istiyorsunuz. JavaKod şu şekilde görünürdü.

public class Demo {
    public static void main(String[] args) {
        System.out.println("Hello World");
    }
}

Çıktı:

Hello World

Yukarıdaki kod her iki durumda da geçerlidir. Java hem de GroovyÇünkü, Groovy neredeyse tümünü kabul eder Java sözdizimi. Avantajı şudur: Groovy Bu sayede sınıf bildiriminden, genel metottan ve tam nitelikli yazdırma çağrısından kurtulabilir ve aynı çıktıyı tek bir satırda elde edebilirsiniz.

println "Hello World"

Çıktı:

Hello World
  • Noktalı virgül kullanmaya gerek yok.
  • Bir sınıfa veya başka bir şeye gerek yok. main yöntemi.
  • System.out.println indirgenir println.

Groovy Değişkenler

In JavaStatik bağlama zorunludur, yani bir değişkenin türü önceden belirtilmelidir.

public class Demo {
    public static void main(String[] args) {
        int x = 104;
        System.out.println(x);
        //x = "Guru99";
    }
}

Çıktı:

104

Yukarıdaki örnekte, değişkenin türü anahtar kelime kullanılarak önceden tanımlanmıştır. intEğer ondalıklı bir sayı tanımlayacak olsaydınız, `ondalık sayı` anahtar kelimesini kullanırdınız. float or double.

Bir dize değerini bir şeye atamaya çalışırsanız int (5. satırdaki yorum satırını kaldırırsanız), aşağıdaki derleme hatasını alacaksınız.

Demo.java:5: error: incompatible types: String cannot be converted to int
x = "Guru99";

Tersine, Groovy dinamik ty'yi desteklerpingDeğişkenler, anahtar kelime kullanılarak tanımlanır. defAyrıca, türün önceden belirtilmesine gerek yoktur. Çalışma zamanı değişken türünü otomatik olarak belirler ve hatta bu türü daha sonra değiştirebilirsiniz.

def x = 104
println x.getClass()
x = "Guru99"
println x.getClass()

Çıktı:

class java.lang.Integer
class java.lang.String

In Groovy Çok satırlı metinler de oluşturabilirsiniz. Bunun için metni üçlü tırnak içine almanız yeterlidir.

def x = """Groovy
at
Guru99"""
println x

Çıktı:

Groovy
at
Guru99

Not: Yine de aşağıdaki gibi açık türler kullanabilirsiniz: byte, short, int, ve long in GroovyAncak türü açıkça belirttikten sonra, onu dinamik olarak değiştiremezsiniz.

int x = 104
println x
x = "Guru99"

Çıktı:

104
Caught: org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object 'Guru99' with class 'java.lang.String' to class 'int'
org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object 'Guru99' with class 'java.lang.String' to class 'int'
    at jdoodle.run(jdoodle.groovy:3)
Command exited with non-zero status 1

Groovy Operaları

Operatör, derleyiciye belirli bir matematiksel veya mantıksal işlemi gerçekleştirmesini söyleyen bir semboldür. Groovy Aşağıdaki beş operatör ailesini desteklemektedir.

  • Aritmetik operatörler: ekle (+), çıkartract (-), çarpma (*), bölme (/), modül (%), artırma (++), azaltma (–).
  • İlişkisel operatörler: eşit (==), eşit değil (!=), küçüktür (<), küçük veya eşittir (<=), büyüktür (>), büyük veya eşittir (>=).
  • Mantıksal operatörler: ve (&&), veya (||), değil (!).
  • Bitsel operatörler: ve (&), veya (|), özel veya (^), tamamlayıcı (~).
  • Atama operatörleri: (=) ve bileşik biçimleri (+=), (-=), (*=), (/=), (%=) atayın.

Groovy birkaç operatör ekler Java Bunlarda yok ve birçok gereksiz boş kod parçasını kaldırıyorlar.

Kullanım Açıklama
?. Güvenli gezinme. Sol taraf null olduğunda NullPointerException hatası fırlatmak yerine null döndürür.
?: Elvis operatörü. Doğruysa sol tarafı, değilse sağ tarafı döndürür.
<=> Uzay gemisi operatörü. compareTo'ya yetki devrediyor ve sıralama fonksiyonlarının içinde kullanışlıdır.
==~ Düzenli ifade eşleşmesi. Yalnızca tüm dize kalıpla eşleştiğinde true değerini döndürür.

Groovy Döngüler

In JavaSayma döngüsünü şu şekilde tanımlayabilirsiniz.

public class Demo {
    public static void main(String[] args) {
        for (int x = 0; x <= 5; x++) {
            System.out.println(x);
        }
    }
}

Çıktı:

0
1
2
3
4
5

Aynı çıktıyı şurada da elde edebilirsiniz: Groovy ile upto Bu yöntem, her iki sınırı da kapsamaktadır.

0.upto(5) { println "$it" }

Çıktı:

0
1
2
3
4
5

İşte it Bu, kapanışın örtük parametresidir ve mevcut yinelemenin değerini içerir. Aşağıdaki kodu inceleyin.

2.upto(4) { println "$it" }

Çıktı:

2
3
4

Ayrıca kullanabilirsiniz times Bu yöntem her zaman 0'dan başlar ve çağırdığınız sayıdan bir eksik kalır, bu nedenle 0'dan 5'e kadar yazdırmak için 6'ya ihtiyacınız vardır.

6.times { println "$it" }

Çıktı:

0
1
2
3
4
5

Şimdi diyelim ki 0, 2 ve 4 rakamlarını yazdırmak istiyorsunuz. Java döngü için.

public class Demo {
    public static void main(String[] args) {
        for (int x = 0; x <= 5; x=x+2) {
            System.out.println(x);
        }
    }
}

Çıktı:

0
2
4

Sen kullanabilirsiniz step Aynı sonucu elde etmek için kullanılan yöntem. İkinci argüman artış miktarı, birinci argüman ise özel bir üst sınırdır.

0.step(5, 2) { println "$it" }

Çıktı:

0
2
4

Groovy Karar verme

Groovy yeniden kullanır Java koşullu ifadeler ekler ve çok daha esnek bir yapı sunar. switchAşağıdaki tablo seçenekleri özetlemektedir.

Açıklama Açıklama
if De olduğu gibi JavaŞart doğru olduğunda if ifadesinin gövdesi yürütülür.
if/else ifadesi Önce if bloğundaki koşul değerlendirilir. Eğer doğruysa, if bloğundaki ifadeler çalışır ve else bloğu atlanır. Eğer yanlışsa, bunun yerine else bloğundaki ifadeler çalışır.
İç içe if ifadesi Bir if bloğunun içinde başka bir koşulu test etmeniz gerektiğinde kullanılır.
anahtar bildirimi İç içe geçmiş if-else zincirleri, çok fazla koşul olduğunda okunaksız hale gelir. switch ifadesi ise aynı mantığı daha kolay okunabilir hale getirir. GroovyBir durum etiketi bir değer, bir sınıf, bir aralık, bir normal ifade veya bir kapatma işlevi olabilir.
İç içe switch ifadesi Groovy Ayrıca, bir switch ifadesinin başka bir switch ifadesinin içine yerleştirilmesine de olanak tanır.

Groovy Liste

Liste yapısı, bir veri öğeleri koleksiyonunu saklamanıza olanak tanır. GroovyListe, bir dizi nesne referansı tutar ve bu dizideki her öğenin konumunu korur. Liste değişmez değeri, virgülle ayrılmış ve köşeli parantez içine alınmış bir dizi nesne olarak yazılır.

Örnekleri arasında Groovy listeleri:

  • Dizelerden oluşan bir liste: ['Angular', 'Nodejs']
  • Karışık nesne referanslarının listesi: ['Groovy', 2, 4, 2.6]
  • Tamsayı değerlerinden oluşan bir liste: [16, 17, 18, 19]
  • Boş bir liste: []

Aşağıdaki listeleme yöntemleri mevcuttur. Groovy.

Yöntem Açıklama
Ekle() Listeye yeni bir değer ekler.
içerir() Listede belirli bir değer varsa true değerini döndürür.
almak() Verilen konumdaki öğeyi döndürür.
boş() Listede hiçbir öğe yoksa true değerini döndürür.
eksi() Orijinal listedeki öğelerden, verilen koleksiyonda belirtilenler hariç, yeni bir liste oluşturur.
artı() Orijinal listedeki öğeleri ve verilen koleksiyondaki öğeleri bir araya getirerek yeni bir liste oluşturur.
pop() Listedeki son öğeyi kaldırır ve geri döndürür.
Kaldır() Verilen konumdaki öğeyi kaldırır.
tersine çevirmek() Orijinal listenin öğelerini tersine çevirerek yeni bir liste oluşturur.
boyut() Listedeki eleman sayısını döndürür.
çeşit() Listenin sıralanmış bir kopyasını döndürür.

Aşağıdakileri göz önünde bulundur Groovy Örnek komut dosyası.

def y = ["Guru99", "is", "Best", "for", "Groovy"]
println y
y.add("Learning")
println(y.contains("is"))
println(y.get(2))
println(y.pop())

Çıktı:

[Guru99, is, Best, for, Groovy]
true
Best
Learning

İlk satır, orijinal beş elemanlı listeyi yazdırır, çünkü add() Henüz çalıştırılmadı. get(2) “En iyi”yi geri döndürüyor. Groovy Listeler sıfır indekslidir ve pop() "Öğrenme" öğesi en son eklendiği için "Öğrenme" öğesini döndürür.

Groovy Haritalar

A Groovy Harita, anahtar-değer çiftlerinden oluşan bir koleksiyondur. Anahtarlar basit tanımlayıcılar olduğunda tırnak işaretlerine gerek duymazlar, bu da harita değişmezlerini oldukça kompakt tutar.

Örnekleri arasında Groovy haritalar:

  • [tutorial: 'Java', language: 'Groovy'] İki anahtar-değer çiftinden oluşan bir koleksiyondur.
  • [:] Boş bir haritayı temsil eder.

İşte mevcut haritalama yöntemlerinin listesi. Groovy.

Yöntem Açıklama
içerirAnahtar() Haritanın verilen anahtarı içerip içermediğini kontrol eder.
almak() Haritada ilgili anahtarı arar ve eşleşen değeri döndürür. Hiçbir giriş bulunamazsa, null değerini döndürür.
anahtar seti() Haritadaki anahtarlar kümesini döndürür.
koymak() Belirtilen değeri verilen anahtarla ilişkilendirir. Eğer Harita zaten bir harita içeriyorsaping Bu anahtar için eski değer değiştirilir.
boyut() Anahtar-değer eşlemelerinin sayısını döndürür.pings.
değerler () Değerlerin bir koleksiyon görünümünü döndürür.

Groovy örnek:

def y = [fName:'Jen', lName:'Cruise', sex:'F']
print y.get("fName")

Çıktı:

Jen

Groovy Kapaklar

A Groovy Closure, bir nesne olarak sarmalanmış bir kod bloğudur. Bir metot veya fonksiyon gibi davranır, ancak bir değişkende saklanabilir ve diğer herhangi bir değer gibi aktarılabilir.

Basit bir kapanış örneği:

def myClosure = {
    println "My First Closure"
}
myClosure()

Çıktı:

My First Closure

Bir closure parametre kabul edebilir. Tanımlayıcılar listesi virgülle ayrılır ve parametre listesinin sonu ok (->) ile belirtilir.

def myClosure = {
    a, b, c ->
    y = a + b + c
    println y
}
myClosure(1, 2, 3)

Çıktı:

6

Bir closure aynı zamanda bir değer de döndürebilir.

def myClosure = {
    a, b, c ->
    return (a + b + c)
}
println(myClosure(1, 2, 3))

Çıktı:

6

Parametre listesi belirtmediğinizde, Groovy tek bir örtük parametre sağlar, adı şöyledir: itKapanışlar, diğer kapanışlara da aktarılabilir; bu, tam olarak aşağıdaki gibi koleksiyon yöntemlerinin çalışma şeklidir. each, collect, ve findAll çalışır.

Groovy Montaj Ekipmanı

Ürünle birlikte gelen üç önemli araca göz atacağız. Groovy dağıtım:

  1. harika: Komut satırından etkileşimli olarak kod yürütür.
  2. groovyConsole: Etkileşimli kod yürütme için grafiksel bir pencere.
  3. harika: infaz Groovy Perl veya benzeri komut dosyalarını çalıştırdığınız gibi, komut dosyası dosyalarını da çalıştırabilirsiniz. Python komut.

Groovysh

  • Komut satırı kabuğu.
  • Uygulamanıza yardımcı olur. Groovy Etkileşimli olarak kod yazın.
  • Tek tek ifadeler veya tüm komut dosyalarını girmenize olanak tanır.

Aşağıdaki ekran görüntüsü, groovysh'in ifadeleri satır satır nasıl değerlendirdiğini göstermektedir.

groovysh komut satırı kabuğu çalışıyor Groovy ifadeleri

Groovy konsolos

  • Minimal bir arayüz görevi gören bir Swing arayüzü. Groovy geliştirme editörü.
  • Yazmanıza ve çalıştırmanıza olanak tanır. Groovy Etkileşimli olarak kod yazın.
  • Yüklemenize ve çalıştırmanıza yardımcı olur. Groovy komut dosyaları.

içinde Groovy Aşağıdaki konsolda, komut dosyası üst bölmeye yazılır ve sonuç alt bölmede görünür.

Groovy Komut dosyası ve çıktı bölmeleri bulunan konsol tabanlı Swing editörü

Groovy

MKS groovy komut, çalıştıran işlemcidir. Groovy Programları ve komut dosyalarını test etmek için kullanılabilir. Kaynak kodu bellekte bayt koduna derler ve tek adımda çalıştırır, bu nedenle ayrı bir derleme aşamasına gerek yoktur. Ayrıca basit programları ve komut dosyalarını test etmek için de kullanılabilir. Groovy Aşağıda gösterildiği gibi, ifadeler doğrudan terminalden alınır.

Groovy komutu, terminalden bir komut dosyasını çalıştırır.

Dönüşümün Groovy Gerçek Projelerde Kullanılır

Çoğu geliştirici buluşuyor Groovy Bağımsız bir dil olarak değil, zaten çalıştırdıkları bir aracın içindeki betik katmanı olarak. Nerede göründüğünü bilmek, yukarıdaki sözdizimini yerleştirmeyi çok daha kolaylaştırır.

araç Ne kadar Groovy kullanılır
Jenkins Bildirimsel ve betik tabanlı işlem hatları şu şekilde yazılır: Groovy DSL ve paylaşımlı kütüphaneler sade ve anlaşılırdır. Groovy sınıflar.
Gradle Klasik build.gradle dosya bir Groovy Bu nedenle, bir yazı sisteminden daha derli toplu okunur. Maven POM veya bir Karınca derleme dosyası.
SoapUI Groovy Komut dosyası adımları ve komut dosyası doğrulamaları, dinamik istek verilerini ve özel yanıt kontrollerini yönlendirir.
Spock A Groovy Given-when-then blokları ve veri tabloları JVM birim testlerinde yaygın olarak kullanılan bir test çerçevesi.
Elasticsearch ve Grails Grails, tam teşekküllü web uygulamaları geliştirir. Groovyve çeşitli veri araçları bunu kabul ediyor. Groovy Özel komut dosyaları için.

In otomasyon testi Bu durum ekipler için iki açıdan önem taşıyor: test paketini çalıştıran CI işi ve testlerin kendisi de aynı şekilde önemli olabilir. GroovyBu sayede tek bir dil, işlem hattı bağlantısını ve doğrulama mantığını kapsar.

Groovy Vs. Java

Groovy Java
Varsayılan erişim belirleyicisi public'tir, bu nedenle bir belirleyicisi olmayan bir metoda, sınıfının ve paketinin dışından da erişilebilir. Varsayılan erişim değiştirici "package-private" olduğundan, değiştirici içermeyen alanlar, metotlar ve sınıflar yalnızca kendi paketleri içinde görünür.
Sınıf özelliklerine ait getter ve setter'lar otomatik olarak oluşturulur. Alanlar için getter ve setter metotlarını kendiniz tanımlamanız gerekiyor.
Groovy Çift tırnaklı dizeler içinde değişken ikamesine olanak tanır. Java Dize enterpolasyonunu desteklemiyor.
Tür bilgisi isteğe bağlıdır. Tür bilgisi zorunludur.
Cümlelerin noktalı virgülle bitmesi zorunlu değildir. Her cümle noktalı virgülle biter.
Groovy Oluşturulan Script sınıfına her bir komut dosyasını otomatik olarak sarar. Bir sınıfın çalıştırılabilir olması için bir main metoduna ihtiyacınız vardır.
Her şey varsayılan olarak herkese açık ve dinamiktir, ancak @CompileStatic geri yükleme Java-seviye hız ve kontrol. Her şey statik olarak derlenir ve derleme sırasında kontrol edilir.

Hakkında mitler Groovy

Efsane Gerçeklik
Groovy Yalnızca betik yazmak için kullanılabilir. Komut dosyası yazımı için mükemmeldir, ancak aynı zamanda herhangi bir JVM uygulaması içinde kullanabileceğiniz sıradan sınıflara da derlenir.
Groovy Tamamen closure'larla ilgili, yani tam anlamıyla fonksiyonel bir programlama dili. Groovy Lisp ve Clojure gibi fonksiyonel dillerden fikirler ödünç alsa da, özünde nesne yönelimli bir dil olarak kalmaktadır.
Groovy Sadece test odaklı geliştirme için kullanmaya değer. Groovy Spock ile TDD için oldukça uygun bir seçenek, ancak onu kullanmanın tek nedeni bu değil elbette.
Sadece ihtiyacın var Groovy Grails'i kullanmak istiyorsanız. Grails güçlü bir web geliştirme çerçevesidir, ancak Gradle, Jenkinsve Spock'un hepsi kullanıyor Groovy Onsuz.

Kullanmanın Eksileri Groovy

  • JVM ve Groovy Komut dosyasının başlatılma süresi yavaş olduğundan, hızlı işletim sistemi düzeyinde komut dosyası oluşturma işlemlerinde kullanımı sınırlıdır.
  • Groovy JVM merkezli topluluklar dışında yaygın olarak benimsenmemiştir.
  • Kullanımı elverişsizdir. Groovy Dinamik özelliklerini anlayabilen bir IDE olmadan.
  • Dinamik sevkiyat şunları sağlayabilir: Groovy eşdeğerinden daha yavaş kod Java Eğer uygulamazsanız kod @CompileStatic.
  • Groovy Programlar, düz metinden daha fazla belleğe ihtiyaç duyabilir. Java programları.
  • Bilgisi Java Bu aslında bir ön koşuldur.

Kendinizi rahat hissettiğinizde Groovy Sözdiziminden sonraki doğal adım, etrafındaki ekosistemdir. Temelleri şu şekilde güçlendirin: Java öğreticio zaman nasıl olduğunu gör Groovy Komut dosyaları, derleme ve dağıtım işlemlerini yönlendirir. JenkinsYapı araçlarını şunlarla karşılaştırın: Maven hem de Apaçi Karıncave nasıl olduğunu keşfedin Groovy iddialar şunlara uyuyor: Selenium ve API test paketleri.

SSS

Groovy 5.0 sürümü JDK 11 ve üzeri sürümleri hedeflemektedir. Groovy 4.0 sürümü hala JDK 8'i destekliyor ve geliştirme aşamasında. Groovy 6.0 sürümü JDK 17'yi hedeflemektedir. Bir sürüme karar vermeden önce, resmi Apache indirme sayfasındaki sistem gereksinimleri tablosunu kontrol edin.

Hayır. `groovy` komutu, bir `.groovy` dosyasını bellekte bayt koduna derler ve hemen çalıştırır. Yine de, bir paketin içine yeniden kullanılabilir `.class` dosyaları koymak istediğinizde `groovyc` ile önceden derleme yapabilirsiniz. Java uygulama.

Evet. Apache Groovy Bu yazılım Apache Lisansı 2.0 altında yayınlanmıştır, bu nedenle ticari kullanım, değişiklik ve yeniden dağıtım tamamen ücretsizdir. Yeniden dağıtılan sürümler için yalnızca olağan atıf ve lisans bildirimi yükümlülükleri geçerlidir.

Groovy , programlama dilidir. Grails, ile yazılmış tam kapsamlı bir web çerçevesidir. Groovy. Sen kullanabilirsiniz Groovy Grails'i hiç kurmadan derleme dosyaları, işlem hatları veya testler için kullanılabilir, ancak Grails onsuz var olamaz. Groovy.

Kapanış fonksiyonları, koleksiyon metotları ve ardışık işlem adımları gibi yaygın kalıpları iyi bir şekilde ele alırlar. Modeller bazen birbirine karışabildiğinden, oluşturulan komut dosyalarını her zaman önce groovyConsole'da çalıştırın. Java sözdizimi ile Groovy Kısayollara başvurmak veya var olmayan yöntemler icat etmek.

Yığın dosyasını yapıştırın trace ve senaryoyu, olası nedenleri ortaya çıkarmak için bir asistana dönüştürün, örneğin a GroovyCastException, eksik bir sandbox onayı veya yanlış bir kapatma temsilcisi. Her öneriyi bir hipotez olarak değerlendirin ve gerçek derleme günlüğüyle karşılaştırarak doğrulayın.

Bu yazıyı şu şekilde özetleyin: