groovy是什么
? ? Groovy是一種基于JVM(Java虛擬機(jī))的敏捷開發(fā)語(yǔ)言(動(dòng)態(tài)語(yǔ)言),它結(jié)合了Python、Ruby和Smalltalk的許多強(qiáng)大的特性,Groovy 代碼能夠與 Java 代碼很好地結(jié)合,也能用于擴(kuò)展現(xiàn)有代碼。由于其運(yùn)行在 JVM 上的特性,Groovy 可以使用其他 Java 語(yǔ)言編寫的庫(kù)(百度百科)
? ? 正如百科上寫的,其實(shí)質(zhì)上是對(duì)java的動(dòng)態(tài)擴(kuò)展,提供了動(dòng)態(tài)類型轉(zhuǎn)換,閉包,元編程等特性,其語(yǔ)法簡(jiǎn)潔,由于其還是變異成java字節(jié)碼運(yùn)行,可以無(wú)縫銜接java代碼,并允許調(diào)用已經(jīng)存在的java類庫(kù)和對(duì)象。其基本類型同樣是對(duì)象,允許直接調(diào)用對(duì)象的方法......
? ? 其生態(tài)圈已十分完善,已經(jīng)有了優(yōu)秀開發(fā)工具及框架,但是目前僅僅是java的補(bǔ)充
為什么要用groovy
? ? ?簡(jiǎn)而言之,其擁有動(dòng)態(tài)語(yǔ)言的優(yōu)勢(shì)且能與java無(wú)縫集成,對(duì)于java程序員來(lái)說(shuō)基本0成本。
? ? ?面向業(yè)務(wù)場(chǎng)景,需要實(shí)現(xiàn)一個(gè)動(dòng)態(tài)獲取輸入?yún)?shù)及公式然后計(jì)算結(jié)果返回。
? ? ? 如果純基于java實(shí)現(xiàn),貌似也不是不能完成(基于xml的公式配置是否可以實(shí)現(xiàn)),但是就算可以實(shí)現(xiàn)明顯的沒有引入? groovy實(shí)現(xiàn)易用性好,可以動(dòng)態(tài)的寫入groovy公式和配置參數(shù)。