gradle项目的目录结构
与maven的项目结构基本相同,src路径下分为main和test,main用于放置项目主要代码,test用于编写测试代码,build.gradle是配置jar包的文件
grovvy简单语法
打开grovvy控制台以及编写代码测试
// grovvy 编程语言
println ("hello grovvy");
// grovvy 中可以省略末尾的分号和句中的括号,这样使得他更加简洁
println "hello grovvy"
// 定义变量
// def与js中的var有些类似,他们都是弱类型的,
// 在运行的时候根据实际的值给变量赋予指定的类型
def i = 1
println i
def name = "zhangsan"
println name
// 定义一个集合类型
def list = ['a','b','c']
// 给list中添加元素
list << 'c'
// 取出list中第四个元素
// 因为grovvy是弱类型,在给他赋值之后它实际上是list类型,他又是基于java的
// 所以可以直接调用一些java方法 例如:list.add()等等
println list.get(3)
// 定义一个map
def map = ['key1':'value1','key2':'value2']
// 向map中添加键值对,
map.key3 = 'value3' //虽然此时map中没有key3,但也可以以这种方式直接给他添加一套键值对
println map.get("key3")
grovvy中的闭包
什么是闭包?
其实很简单,闭包就是一段代码,一段代码作为方法的参数传递,个人感觉与jdk1.8的方法引用有部分类似
//定义一个闭包
def b1 = {
println 666
println "hello b1"
}
//定义一个方法,方法中需要闭包类型参数
// 注意:闭包类型的参数类型是 Closure,不要导任何的jar包,直接使用groovy.lang,他自带的即可
def method(Closure closure){
closure()
}
// 调用方法
method(b1)
//用法2 带参数的闭包
def b2 = {
v -> //这里v就表示是传递的参数,闭包没有括号,所以参数直接写在代码块中
println "hello ${v}" //${}用来引用变量
}
def method2(Closure closure){
closure("zhangsan") //这里的“zhangsan”就传递给了闭包中参数v
}
//调用方法
method2(b2)
gradle配置文件介绍
gradle的配置文件名称为build.gradle,打开该文件可以配置对应的jar包,版本信息等,仓库等
/*
* 项目的group名称及版本号
*/
group 'com.dcz'
version '1.0-SNAPSHOT'
/*开发的环境,这里表示java*/
apply plugin: 'java'
/* jdk的版本 */
sourceCompatibility = 1.8
/*
* 指定仓库的位置,
* mavenCentral()表示使用maven的中央仓库
* mavenLocal() 表示本地仓库
* 这里本地仓库在前,表示默认去本地仓库查找,如果找不到就去中央仓库下载
*/
repositories {
mavenLocal()
mavenCentral()
}
/*
* 项目依赖的jar包配置
* 一个jar包的依赖同样由三个基本元素组成 group、name、version
* testCompile 表示只在测试时生效,他是jar包的作用域
*
* 这里看着很精简,实际上他是一个一个的方法,三个基本元素就是他的参数
* 只不过是因为grovvy语法的特性,省略掉了括号和分号
*/
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.12'
}
idea中的gradle项目配置
idea中构建项目的命令
编译,打包,清理等等操作均在这个位置