Gradle入門學習筆記
Gradle基於Ant和Maven產生,彌補了它們的不足。它使用一種基於Groovy的特定領域語言聲明項目設置,拋棄了基於XML的各種繁瑣配置。
Gradle主要面向Java應用,目前僅支持Java、Groovy和Scala語言,計劃未來支持更多語言。
手動安裝與配置
首先下載gradle,下載地址:gradle下載地址,例如下載4.7版本,下載完成後進行解壓。
配置系統變量,先添加一個系統變量,變量名是GRADLE_HOME
,值是安裝目錄
之後編輯Path系統變量,新建一個%GRADLE_HOME%\bin
。
兩步都完成後,打開cmd窗口,驗證是否安裝成功。
IDEA創建Gradle工程
使用IDEA是可以不手動下載Gradle的。
打開IDEA,新建項目,選擇Gradle,組件選擇Java
輸入工程名和位置
點擊Finish後,創建工程,會自動下載gradle。
Gradle項目目錄結構說明
src/main/java 正式代碼目錄
src/main/resources 正式配置文件目錄
src/test/java 測試代碼目錄
src/test/resources 測試配置文件目錄
src/main/webapp 頁面元素,js、css、img等
groovy語言簡單使用
點擊Tools中的groovy console
簡單的定義變量和輸出,可以省略分號和括號
控制檯輸出:
groovy中的閉包
閉包就是一段代碼塊,在gradle中主要是把閉包當作參數使用。
例1:
例2:
gradle倉庫的配置
將gradle倉庫配置爲本地的maven倉庫,先找到maven倉庫,複製其路徑。配置系統變量如下:
此時查看gradle倉庫,路徑已變更爲maven倉庫,在mavenCentral前加上mavenLocal,會先從本地maven倉庫尋找jar包
假設要導入spring-context的jar包,只需要在dependencies加入
compile group: 'org.springframework', name: 'spring-context', version: '5.0.2.RELEASE'
即可,會自動從本地倉庫加載
dependencies的作用和maven的是一樣的,都是依賴jar包的三個信息。
查看此處可以發現jar包已成功導入:
測試Java工程
接口
實現類
bean.xml
測試類
結果
測試Web工程
創建一個webapp目錄,根據IDEA右下角提示自動配置成web目錄
build.gradle配置文件:
plugins {
id 'java'
id 'war'
}
group 'org.example'
version '1.0-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
mavenLocal()
mavenCentral()
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.12'
compile group: 'org.springframework', name: 'spring-context', version: '5.0.2.RELEASE'
compile group: 'org.springframework', name: 'spring-web', version: '5.0.2.RELEASE'
compile group: 'org.springframework', name: 'spring-webmvc', version: '5.0.2.RELEASE'
providedCompile group: 'javax.servlet', name: 'javax.servlet-api', version: '3.0.1'
providedCompile group: 'javax.servlet', name: 'jsp-api', version: '2.0'
}
在main/resources下創建springmvc.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:mvc="http://www.springframework.org/schema/mvc"
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/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">
<!-- 配置組件掃描 -->
<context:component-scan base-package="com.sjh.controller"/>
<!-- 處理器映射器,處理器解析器 -->
<mvc:annotation-driven/>
<!-- 視圖解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/pages/"/>
<property name="suffix" value=".jsp"/>
</bean>
<!-- 釋放靜態資源 -->
<mvc:default-servlet-handler/>
</beans>
配置WEB-INF下的web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<!-- 配置springmvc核心servlet -->
<servlet>
<servlet-name>dispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
編寫一個控制器
@Controller
@RequestMapping("/hello")
public class HelloController {
@RequestMapping("/test")
public String hello(){
return "hello";
}
}
在WEB-INF/pages下新建一個hello.jsp
添加tomcat服務器
記得將gradle設置裏調爲IDEA
啓動tomcat服務器,訪問路徑,成功