當前位置:首頁 » 網頁前端 » 腳本語言groovy
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

腳本語言groovy

發布時間: 2022-04-19 05:13:11

㈠ 什麼是 Groovy

● 是一個基於 Java虛擬機的敏捷 動態語言。 ● 構建在強大的Java語言之上 並 添加了從Python,Ruby和Smalltalk等語言中學到的 諸多特徵。 ●為Java開發者提供了 現代最流行的編程語言特性,而且學習成本很低(幾乎為零)。 ● 支持DSL(Domain Specific Languages領域定義語言)和其它簡潔的語法,讓你的代碼變得易於閱讀和維護。 ● Groovy擁有處理原生類型,面向對象以及一個Ant DSL,使得創建Shell Scripts變的非常簡單。 ● 在開發Web,GUI,資料庫或控制台程序時 通過 減少框架性代碼 大大提高了開發者的效率。 ● 支持單元測試和模擬(對象),可以 簡化測試。 ● 無縫集成 所有已經存在的 Java對象和類庫。 ● 直接編譯成Java位元組碼,這樣可以在任何使用Java的地方 使用Groovy。 Groovy 的一個好處是,它的語法與 Java 語言的語法很相似。雖然 Groovy 的語法源於 Smalltalk 和 Ruby 這類語言的理念,但是可以將它想像成 Java 語言的一種更加簡單、表達能力更強的變體。(在這點上,Ruby 與 Groovy 不同,因為它的語法與 Java 語法差異很大。) Groovy 快捷方式 開始使用 Groovy 時,您會發現它使日常的編程活動變得快了許多。完成本教程之後,您會了解更多的 Groovy 語法快捷方式。不過現在只需知道以下這些要點: Groovy 的鬆散的 Java 語法允許省略分號和修改符。 除非另行指定,Groovy 的所有內容都為 public。 Groovy 允許定義簡單腳本,同時無需定義正規的class 對象。 Groovy 在普通的常用 Java 對象上增加了一些獨特的方法和快捷方式,使得它們更容易使用。 Groovy 語法還允許省略變數類型。 Groovy 的新增特性 雖然Groovy 允許省略 Java 語法中的一些元素,但也增加了一些新特性,例如本地集合、內置的正則表達式和閉包。在標準的 Java 代碼中,如果想要創建一個項列表,首先要導入java.util.ArrayList,然後程序化地初始化 ArrayList 實例,然後 再向實例中添加項。在 Groovy 中,列表和映射都內置在語法中 — 無需導入任何內容。正則表達式也不需要額外的導入或對象;它們可以通過特殊的 Groovy 語法來創建。 關於閉包 對於任何 Java 開發人員來說,閉包都是一個令人興奮的新技巧。這些神奇的構造將會包含在未來的 Java 發行版(很可能是 Java 7)中,成為正式的 Java 語法,但現在已經可以在 Groovy 中使用了。可以將閉包 想像為一個代碼塊,可以現在定義,以後再執行。可以使用這些強大的構造做許多漂亮的事,不過最著名的是簡化迭代。使用 Groovy 之後,就有可能再也不需要編寫Iterator 實例了。 動態的 Groovy 從技術上講,Groovy 可能是您最近聽說過的類型最鬆散的動態語言之一。從這個角度講,Groovy 與 Java 語言的區別很大,Java 語言是一種固定類型語言。在 Groovy 中,類型是可選的,所以您不必輸入String myStr = "Hello"; 來聲明 String 變數,可以使用def myStr = "Hello";(分號可有可無)。 除此之外,Groovy 代碼還能在運行時輕松地改變自己。這實際上意味著,能夠在運行時輕松地為對象指定新方法和屬性。這一編程領域稱為元編程,Groovy 能夠很好地支持這種編程方式。在學習本教程的過程中,您將了解到關於 Groovy 的動態性質的更多內容。現在惟一要補充的是,您會驚訝地發現,在 Groovy 會使操作 XML 或普通的 java.io.File 實例變得非常輕松。 一體兩面 用Groovy 編寫的任何內容都可以編譯成標準的 Java 類文件並在 Java 代碼中重用。類似地,用標准 Java 代碼編寫的內容也可以在 Groovy 中重用。所以,可以輕易地使用 Groovy 為 Java 代碼編寫單元測試。而且,如果用 Groovy 編寫一個方便的小工具,那麼也可以在 Java 程序中使用這個小工具。 Groovy是用Java實現的開源腳本語言並且和它聯系緊密.它需要JDK 1.4. Groovy向Java添加了許多Ruby和Python腳本語言的特性. Groovy的特性包括動態類型(dynamic typing), 閉包(closures),簡單對象導航( easy object navigation)和更加簡潔的Lists和Maps語法. Groovy是由James Strachan和Bob McWhirter創造的. James還參與了許多其他開源項目的開發,其中包括Jelly, dom4j, Jaxen, Betwixt和Maven. Bob是Jaxen和Drools (一個開源的面向對象的JAVA規則引擎) 的創始人. 目前最新穩定版為Groovy1.8。

㈡ Groovy入門經典的內容介紹

奉書內容全面詳盡,淺顯易懂,易於選擇性閱讀。可以作為對Groovy語言感興趣的計算機軟體開發人員的參考書。..
Groovy是能夠擴展Java平台的腳本語言之一。Groovy提供類似於Java的語法結構,本地化支持映射和列表、方法、類,閉包和構造器等結構。由於具有動態弱類型,以及無縫訪問JavaAPI等特性,Groovy語言非常適合子開發中小型規模的應用程序。
相對於Java語言,Groovy語言的表述性更強,抽象程度更高。它使得應用程序開發更加快捷,提升了程序員生產力。Groovy語言可以用作應用程序的「黏合劑」,而不必實現復雜的數據結構和演算法。
與Java代碼比較起來,Groovy語言的另一個主要優勢是,Groovy代碼編寫量相對小些。在一般情況下,Java代碼過於復雜,難於理解和維護。這是因為Java需要大量的模板文件或者轉換代碼,而Groovy卻不需要。
本書是有關Groovy的第一本正式出版物,作者KennethBarclay和JohnSavage介紹了Groovy開發的所有主要領域,並解釋了這種創新性的編程語言給Java平台賦予的動態特性。閱讀本書只要求具備Java編程的一般性知識。不管你是經驗豐富的Java開發者,還是腳本語言的新手,都會得到如何充分利用Groovy語言的專家性指導。
本書特點第一本全面講解Groovy編程的圖書,演示如何快速和輕松地編寫適用於Java平台的應用程序和腳本。
本書由高水平軟體工程師精心編寫,並得到計算機老師和專家的高度贊揚。

㈢ groovy語言主要是用來干什麼,和JAVA的區別是什麼

先說區別吧:java是編譯性語言,就是得編譯後才能運行。groovy語言是動態語言。

Groovy 是 JVM 的一個替代語言 — 替代 是指可以用 Groovy 在 Java 平台上進行 Java 編程,使用方式基本與使用 Java 代碼的方式相同。
Groovy 的一個好處是,它的語法與 Java 語言的語法很相似。雖然 Groovy 的語法源於 Smalltalk 和 Ruby 這類語言的理念,但是可以將它想像成 Java 語言的一種更加簡單、表達能力更強的變體。(在這點上,Ruby 與 Groovy 不同,因為它的語法與 Java 語法差異很大。)

㈣ Java程序員為什麼學習Groovy

首先Groovy也是運行在java虛擬機上的,二者有語法上的區別但是和java並沒有本質上的不同。
Groovy和java是相結合的關系而並不是將java取而代之。
1、Java開發者學習Groovy的成本很低
2、是一種成熟的面向對象編程語言,既可以用於面向對象編程,又可以用作純粹的腳本語言
3、完成同樣的事情Groovy可能比Java需要寫的代碼要少
4、支持單元測試和模擬(對象),可以 簡化測試
5、groovy中基本類型也是對象,可以直接調用對象的方法
......

1
2
3
4
5
6
7
8
9

def var="hello "+
"world"+
",groovy!"
def repeat(val){
for(i = 0; i < 5; i++){
println val
}
}
repeat(var)

輸出:
hello world,groovy!
hello world,groovy!
hello world,groovy!
hello world,groovy!
hello world,groovy!
最後,為什麼要學,這是給那些比較「懶」的java程序員准備的,代碼量小啊,而且一些新特性用起來也很方便省心。

㈤ Scala,Groovy,Clojure Kotlin 分別解決了Java 的什麼痛點

這三個,都和Java無關,只是碰巧都運行在JVM之上而已。他們都沒有想過要取代Java,都是獨立的語言,差異極大。
groovy是一門腳本語言,個人覺得沒啥用處。
Scala是怪獸,人類歷史上最有野心的編程語言。
clojure,是JVM上的lisp,並發支持的很好。是這個世界上你需要學習的最後一門語言。
同時,他們都不能替代Python或者Ruby或者PHP。
他們都不是來填坑的,都是來挖坑的。

㈥ java程序員為什麼使用Groovy

Groovy是一門基於JVM的腳本語言。它在兼容Java語法的同時,借鑒了Ruby、Python等語言的特性,有自己一套簡潔而靈活的語法。同時,運行在JVM上也意味著它也可以使用Java語言編寫的庫。這兩點結合,讓Groovy極其適合編寫Java代碼的測試腳本。

選擇Groovy作為測試腳本的語言的原因:

  • Groovy基於JVM,這使我能夠調用產品的Java代碼,也能夠調用Java標准庫里的代碼。除些之外,還可以通過Maven或Gradle使用大量的第三方Java庫。

  • Groovy是動態語言,擴展了Java的容器類,提供了完善的函數式編程和元編程支持。這讓我們可以寫出簡潔而富有表現力的代碼。

  • Groovy提供了大量的語法糖。與Java自身繁冗的代碼相比,這些語法糖大大節約了我們編寫腳本的時間,減少了我的腳本的代碼量。

然而,Groovy在帶來上述三個優點的同時,也會帶來有相應的缺點:

  • 效率問題。Groovy作為運行在JVM上的動態語言,運行效率是低於Java的。雖然可以用@CompileStatic註解來靜態編譯一些類以提高效率,但這樣又會失去Groovy的一些動態語言的特性。

  • 語法過於靈活,運用不當會降低可讀性與可維護性。Groovy支持元編程特性,可以在運行時動態添加方法。這一點自然可以簡化代碼,但也有很大的可能會降低可維護性。函數式編程與大量的語法糖會讓不熟悉Groovy的人讀起來一頭霧水,反而降低了可讀性。

㈦ Groovy入門經典的目錄

序言
前言
第1章Groovy
1.1為什麼使用腳本語言
1.2為什麼使用Groovy
第2章數值和表達式
2.1數值
2.2表達式
2.3運算符優先順序
2.4賦值
2.5自增和自減運算符
2.6對象引用
2.7關系運算符和等於運算符
2.8習題
第3章字元串和正則表達式
3.1字元串字面值
3.2字元串索引和索引段
3.3基本操作
3.4字元串方法
3.5比較字元串
3.5比較字元串
3.6正則表達式
3.7習題
第4章列表、映射和范圍
4.1列表
4.2列表方法
4.3映射
4.4映射方法
4.5范圍
4.6習題
第5章基本輸入輸出
5.1基本輸出
5.2格式化輸出
5.3基本輸入
5.4習題
第6章學習案例:圖書館應用程序(建模)
6.1迭代1:需求規范和列表實現
6.2迭代2:映射實現
6.3習題
第7章方法
7.1方法
7.2方法參數
7.3默認參數
7.4方法返回值
7.5參數傳遞
7.6作用域
7.7集合作為參數和返回值
7.8習題
第8章流程式控制制
8.1while語句
8.2for語句
8.3if語句
8.4switch語句
8.5break語句
8.6continue語句
8.7習題
第9章閉包
9.1閉包
9.2閉包、集合和字元串
9.3閉包的其他特性
9.4習題
第10章文件
10.1命令行參數
10.2File類
10.3習題
第11章學習案例:圖書館應用程序(方法、閉包)
11.1迭代1:需求規范和映射實現
11.2迭代2:基於文本的用戶交互界面的實現
11.3迭代3:使用閉包實現
11.4習題
第12章類
12.1類
12.2復合方法
12.3習題
第13章學習案例:圖書館應用程序(對象)
13.1需求規范
13.2迭代1:最初的模型
13.3迭代2:模型完善
13.4迭代3:用戶界面
13.5習題
第14章繼承
14.1繼承
14.2繼承方法
14.3方法重定義
4多態性
14.5抽象類
14.6介面類
14.7習題
第15章單元測試(JUNIT)
15.1單元測試
15.2GroovyTestCase類和JUnitTestCase類
15.3GroovyTestSuite類和JUnitTestSuite類
15.4單元測試的角色
15.5習題
第16章學習案例:圖書館應用程序(繼承)
16.1需求規范
16.2迭代1:多態性
16.3迭代2:功能性需求演示
16.4迭代3:提供用戶反饋
16.5迭代4:強制性約束
16.6習題
第17章持久性
17.1簡單查詢
17.2關系
17.3更新資料庫
17.4表的對象
17.5繼承
17.6Spring框架
17.7習題
第18章學習案例:圖書館應用程序(持久性)
18.1迭代1:域模型的持久化
18.2迭代2:持久性的影響
18.3習題
第19章XML構造器和解析器
1Groovy標記
19.2MarkupBuilder
19.3XML解析
19.4習題
第20章GUI構造器
20.1SwingBuilder
20.2列表框和表格
20.3Box類和BoxLayout類
20.4習題
第21章模板引擎
21.1字元串
21.2模板
21.3習題
第22章學習案例:圖書館應用程序(GUI)
22.1迭代1:GUI原型
22.2迭代2:處理器的實現
22.3習題
第23章伺服器端編程
23.1Servlets
23.2Groovlets
23.3GSP頁面
23.4習題
第24章學習案例:圖書館應用程序(WEB)
24.1迭代1:Web實現
24.2習題
第25章後記
附錄A軟體發布
A.1Java開發工具
A.2Groovy開發工具
A.3ANT
A.4Derby/Cloudscape資料庫
A.5Spring框架
A.6Tomcat伺服器
A.7EclipsecIDE
A.8本書源文件
附錄BGroovy簡介
B.1簡潔和優雅
B.2方法
B.3列表
B.4類
B.5多態性
B.6閉包
B.7異常
附錄c關於數值和表達式的更多信息
C.1類
C.2表達式
C.3運算符結合性
C.4定義變數
C.5復合賦值運算符
C.6邏輯運算符
C.7條件運算符
C.8數字字面值的分類
C.9轉換
C.10靜態類型
C.11測試
附錄D關於字元串和正則表達式的更多信息
D.1正則表達式
D.2單字元匹配
D.3匹配開始部分
D.4匹配結尾部分
D.5匹配零次或者多次
D.6匹配一次或者多次
D.7匹配零次或者一次
D.8次數匹配
D.9字元類型
D.10選擇
D.11輔助符號
D.12組合
附錄E關於列表、映射和范圍的更多信息
E.1類
E.2列表
E.3范圍
E.4展開操作符
E.5測試
附錄F關於基本輸入輸出的更多信息
F.1格式化輸出
F.2類Console
附錄G關於方法的更多信息
G.1遞歸方法
G.2靜態類型
G.3實參協議
G.4方法重載
G.5默認參數值的不確定性
G.6參數和返回值類型為集合的方法
附錄H關於閉包的更多信息
H.1閉包和不明確性
H.2閉包和方法
H.3默認參數
H.4閉包和作用域
H.5遞歸閉包
H.6狀態類型
H.7有關實參的約定
H.8閉包、集合和范圍
H.9Return語句
H.10測試
附錄I關於類的更多信息
I.1屬性和可見性
I.2對象導航
I.3靜態成員
I.4操作符重載
I.5調用方法
I.6習題
附錄J高級閉包
J.1簡單閉包
J.2部分應用
J.3組合
J.4計算模式
J.5業務規則
J.6打包
J.7列表簡化
J.8習題
附錄K關於構造器的更多信息
K.1AntBuilder
K.2專用的構造器
附錄L關於GUI構造器的更多信息
L.1菜單和工具條
L.2對話框

㈧ groovy語言主要是用來干什麼,和JAVA的區別是什麼

Groovy是Java平台上設計的面向對象編程語言。這門動態語言擁有類似Python、Ruby和Smalltalk中的一些特性,可以作為Java平台的腳本語言使用。 groovy的語法跟java完全按類似。
它和java的區別是:
一:java為強類型的語言;Groovy為弱類型,可以自動推斷類型;
創建數組的時候Groovy的語法為:def intArray=[2,3,4]
創建MAP的時候Groovy的語法為:def m={}
二:Groovy默認訪問修飾符為Public,可以不寫訪問修飾符
可以直接用def關鍵字定義,如:
def sayHello(){}

限定訪問范圍

@PackageScope修飾方法

㈨ groovy 是個什麼語言它的前途怎麼樣

能在 Java 虛擬機執行的腳本語言,在眾多腳本語言中應用面不算廣,選擇Groovy的原因一般對Java比較熟,而又需要使用一些動態的腳本的功能。你可以把它作為是對Java語言的無縫擴展。

關於前景,Groovy只是Java的補充,在Web方面主要要看Grails的應用,有一些優勢,但始終不是主流的開發框架。

㈩ Groovy入門經典的介紹

本書詳細介紹腳本語言Groovy,首先介紹Groovy語言的基本特性,包括討論Groovy方法、程序閉包、列表、映射以及對類和繼承的支持,然後介紹如何使用Groovy創建更加高級的應用程序,如使用Spring框架和Cloudscape/Derby關系型資料庫管理系統來實現持久性,最後討論模板和Web應用程序。