文章目录
- 准备工作
- Idea利用Gradle创建Java项目
- Gradle介绍
- 目录
- Groovy控制台
- Gradle配置
- Gradle使用Spring
- 编译运行
- 打包
- Gradle创建web项目
准备工作
如果需要使用本地的gradle就要做这些本地工作,如果直接用idea的插件那么可以跳过这一步
- 下载地址选择相应版本下载压缩包即可
- 解压后6.x只有三个文件夹,使用的话只需要关注bin下的gradle.bat
- 配置环境变量,在PATH中加入gradle的bin目录
gradle -v
如下结果则正常安装
Idea利用Gradle创建Java项目
具体的步骤顺序,会受到Idea版本的影响有些许改变,主要步骤就如下
- 新建项目-选择Gradle-选择自己的jdk-勾选Java
2.选择路径-输入模块信息
3.选择本地的Gradle或者Idea默认的Gradle
Gradle介绍
目录
和Maven目录差不多,在src下分为main和test,接着再分为java和resources。
我这里用Idea默认的Gradle,所以多了Gradle.bat文件。
Groovy控制台
1.Tools-GroovyConsole打开控制台
2.输入代码-点击运行按钮(图中红色框出来的)
语句结束的分号可以省略
3.语法简介
- 变量声明的一些语法
单引号是标准的java.lang.String;
如果双引号括住的字符串中没有插值表达式(interpolated expression),那它就是java.lang.String,如是有插值表达式,那它就是groovy.lang.GString
三单引号括住字符串支持多行,也是java.lang.String实例,在第一个’‘’起始处加一个反斜杠\可以在新一行开始文本:
println("hello gradle")
def i=0 //声明变量
println i //println的括号也可以省略
def list = ['a', 'b'] // 定义列表
list << 'c' //追加元素
println(list.get(2)) //取出列表的元素
def map = ['key1':'value2'] //定义一个map
map.'key3' = 'value3' //直接添加一个键值对
println(map.get('key3')) //获取某个键对应的值
- 闭包的使用
//定义并使用无参闭包
def b1 = {
println("hello")
}
def method1(Closure closure){
closure()
}
method1(b1)
//定义并使用有参闭包
def b2 = {
v ->
println "hello $v"
}
def method2(Closure closure){
closure("world")
}
method2(b2)
Gradle配置
看上去比maven更加简洁,我这里只从中央仓库加载,如果想优先从本地仓库加载可以查看这篇博客
plugins {
id 'java'
}
group 'org.example'
version '1.0-SNAPSHOT'
/*指定所使用的仓库,mavenCentral()表示使用中央仓库;本项目所有的jar包都会从中央仓库下载到本地指定项目*/
repositories {
mavenCentral()
}
/*gradle工程的所有jar包都在dependencies属性内放置
* 每个jar包由三个维度确定:group、name、version
* testCompile表示该jar包在测试的时候起用(每个jar都需要指定作用域)
* */
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.12'
// https://mvnrepository.com/artifact/org.springframework/spring-context
compile group: 'org.springframework', name: 'spring-context', version: '5.2.6.RELEASE'
}
如果没有修改目录,那么默认将jar包下载到家目录下(类似于maven的m2文件夹)
Gradle使用Spring
编译运行
- 在main/java下的dao和impl
package org.example.dao;
import java.util.List;
public interface AccountDao {
public List findAll();
}
package org.example.dao.impl;
import org.example.dao.AccountDao;
import java.util.List;
public class AccountDaoImpl implements AccountDao {
@Override
public List findAll() {
System.out.println("列表查询成功");
return null;
}
}
- 在main/resources下编写bean.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd">
<bean id="accountDao" class="org.example.dao.impl.AccountDaoImpl" />
</beans>
- 在test/java编写测试用例
package org.example.test;
import org.example.dao.AccountDao;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class AccountTest {
@Test
public void accountTest(){
ApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml");
AccountDao accountDao = ac.getBean(AccountDao.class);
accountDao.findAll();
}
}
运行结果如下
如果出现乱码,请确认Idea的编码和Gradle的编码一致
打包
- Gradle-展开自己的项目-Tasks-build-jar
- jar包生成在build/libs下
Gradle创建web项目
同上面一样创建Java项目即可,