目錄: 一、創建一個gradle項目
二 、在gradle中創建SSM項目
一 、創建一個gradle項目
第一步:
打開我們的IDEA工具,選擇創建一個新項目
第二步:這里會讓你選擇創建一個什么項目,idea會根據選擇的不同從而創建不同的項目目錄和初始文件,此處我們選擇gradle,並選中web,然后點擊Next進入下一步。
這里要介紹一下gradle,gradle是一個開源的項目自動化構建工具,和maven功能類似,默認也是使用maven的倉庫。具體細節此處不做贅述。
第三步:此處會要求輸入GroupID和ArtifacID。Next
GroupId就是maven和gradle添加依賴時需要填寫的Group,在簡歷maven項目的時候也會要求填寫
ArtifactId也是maven中需要填寫的
Version也是,新建的項目默認1.0就好
第四步:選擇gradle,IDEA默認有gradle,可以不用選擇,如果需要使用自己安裝的gradle,那么選擇"Use local gradle distribution",然后選擇gradle的安裝路徑
(PS:建議要有一個自己安裝的版本,如果在加載其他gradle項目的時候選擇默認版本,會導致idea去下載該項目之前開發所使用的版本,而數據源是在國外,可能會極慢。)
第五步:"Project location"是項目生成的路徑,項目會被生成到這個路徑下面,這里直接點擊"Finish"完成
這里是gradle在進行首次構建,為項目創建初始目錄等,此處如果沒有選擇使用自己安裝的gradle則可能自動下載,根據網絡情況需要等待的時間不一(也有可能會一直等待,所以建議提前安裝自己的gradle)。
構建完成之后的目錄結構如下
gradle項目的建立到這里結束,其中有一個bulid.gradle文件,這個文件是用來添加包依賴的,和maven的pom.xml作用一樣
二 、在gradle中創建SSM項目
第一步:為項目設置Tomcat服務器
Name這里輸入Tomcat的命名(這個隨便是什么,你喜歡就好),然后在"Application server"處選擇Tomcat的安裝路徑,
然后Tomcat的端口號等,這里默認8080,然后點擊"Deployment"。
添加需要使用這個Tomcat發布的Artifact
這里選擇帶"(exploded)"后綴的,帶exploded后綴在打war包以后是可以直接打開看war內的內容的,而另一個不行(如果我沒記錯的話,記錯了不要噴我)。
上一步結束后會來到這里,這里設置訪問項目的URL,填"/"就是是用默認的訪問地址,IP:端口。
舉個例子,如果填/demo,按照上面配置的地址,localhost:8080,則訪問時應該是http://localhost:8080/demo作為整個后端接口url的前綴
到這里Tomcat就設置好了。
第二步:在gradle中添加SSM所依賴的jar包,打開bulid.gradle文件,在
dependencies{
}
中將以下代碼貼入其中。
compile 'log4j:log4j:1.2.17'
compile 'org.slf4j:slf4j-api:1.7.25'
compile 'org.slf4j:slf4j-simple:1.7.25'
compile 'net.logstash.log4j:jsonevent-layout:1.7'
compile 'org.apache.tomcat:tomcat-servlet-api:8.0.24'
compile 'jstl:jstl:1.2'
compile 'org.aspectj:aspectjweaver:1.8.6'
compile 'org.springframework:spring-beans:4.1.7.RELEASE'
compile 'org.springframework:spring-web:4.1.7.RELEASE'
compile 'org.springframework:spring-webmvc:4.1.7.RELEASE'
compile 'org.springframework:spring-tx:4.1.7.RELEASE'
compile 'org.springframework:spring-test:4.0.5.RELEASE'
compile 'org.springframework:spring-jdbc:4.1.7.RELEASE'
compile 'org.mybatis:mybatis-spring:1.2.3'
compile 'org.mybatis:mybatis:3.3.0'
compile 'mysql:mysql-connector-java:5.1.36'
compile 'com.alibaba:druid:1.0.15'
compile "com.fasterxml.jackson.core:jackson-databind:2.2.3"
compile "com.fasterxml.jackson.core:jackson-annotations:2.2.3"
compile "com.fasterxml.jackson.core:jackson-core:2.2.3"
providedCompile 'javax.servlet:servlet-api:2.5'
testCompile group: 'junit', name: 'junit', version: '4.12'
然后執行這段代碼,IDEA會自動下載這些jar包。耐心等待。。。。。。。
(此處會使用默認的maven倉庫下載包,該倉庫在國外服務器,不同網絡訪問速率不一,如果很慢,請更換國內的倉庫,更換方法百度或谷歌即可)
有些剛用idea的兄弟們可能會發現沒有下圖右側的工具欄,此時點擊idea窗口左下角的方塊小圖標就有了
完成之后會發現左側的"External Libraries"里面出現了我們要的jar包
第三步:建立SSM的包結構,在main目錄下建立"java","resources"兩個包,前者用來存放java源碼文件,后者用來存放配置文件
接下來就是如何在該目錄中將SSM的demo跑起來。
首先貼一下我已經建好了的目錄
首先是新建SSM需要的配置文件
log4j.properties 如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
log4j.rootLogger=INFO,A1,app
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%p %d %X{uuid} [%c{1} %L] - %m%n
log4j.appender.app=org.apache.log4j.DailyRollingFileAppender
log4j.appender.app.Encoding=UTF-8
log4j.appender.app.File=/data/tomcat_logs/app.log
log4j.appender.app.DatePattern='.'yyyy-MM-dd
log4j.appender.app.layout=net.logstash.log4j.JSONEventLayoutV1
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
log4j.logger.java.sql.ResultSet=DEBUG
|
寫到此處,忽然有事,其他配置后續再補。。。。
Java新手,准備寫個項目來鞏固下知識點,在新建項目時不知道選擇用什么作為構建工具,Maven肯定用過,只限於使用過,沒有系統的去學習。之前做Android開發時用過Gradle來構建項目,也沒深入研究過。后來在公司接觸過用Gradle構建的java項目,才去深入了解過,描述的是Gradle是作為下一代構建工具,很靈活。我個人覺得這個靈活是體現在配置上,我看了很多使用Gradle構建多模塊的項目的博客,配置都不相同。反正Gradle優點很多,想了解的自行百度,有很多Gradle方面的教程。
寫這篇博客主要是為了記憶一下,加深印象,也為各位提供一種思路,有什么不對的地方勿噴,我害怕!
1、項目結構簡單說明一下項目結構,其中project-parent是根項目,project-core和project-app是子模塊,project-app依賴project-core模塊,其中IDEA我用的是ULTIMATE 2018.1版本,gradle使用的是gradle-4.4版本。
2、新建根項目project-parent通過IDEA來新建項目,左邊菜單欄選擇Gradle工具,右邊的Additional Libraries and Frameworks什么都不勾選,因為根項目我們只需要setting.gradle和build.gradle兩個文件就行了。然后一直下一步,我就不在提供操作截圖了,如果還不知道怎么新建一個Gradle項目,請百度一下,教程很多。
項目新建完成,其中能看到setting.gradle和build.gradle兩個文件。
3、新建子項目project-core選擇根項目,然后右鍵,彈出操作菜單,然后執行new->Module操作,會彈出和新建根項目一樣的操作彈窗。
然后按照新建項目,直接下一步,直到finish。我將貼出每一步的截圖
然后點擊Finish完成后,得到如下項目結構:
4、新建子項目project-app 新建流程和第三步操作一樣,我不再貼出具體截圖了,只貼出新建后的項目結構圖:
5、修改根目錄build.gradle配置:setting.gradle就不說了,可以說是一個包含項目所有module的一個腳本配置,具體可以自行查閱。
主要說下build.gradle的配置,分三部分,分別是buildscript,allprojects,subprojects
buildscript {
ext { springBootVersion = '2.0.0.RELEASE' }
repositories { mavenCentral() jcenter() }
dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}") }}
allprojects { group 'com.gradle.project' version '1.0-SNAPSHOT'}
subprojects { apply plugin: 'java' apply plugin: 'idea' apply plugin: "io.spring.dependency-management"
sourceCompatibility = 1.8 targetCompatibility = 1.8
repositories { mavenLocal() mavenCentral() jcenter() }
dependencies{ //這里如果配置了jar包依賴,所有子項目共享,使用了gradle的依賴傳遞特性。 testCompile group: 'junit', name: 'junit', version: '4.12' }}
6、project-core的build.gradle配置: 這里gradle.project什么都沒有寫,根項目的build.gradle腳本已經為所有模塊提供了基本的配置,每個模塊的build.gradle腳本可以根據不同業務提供不同的配置。
dependencies {}7、project-app模塊build.gradle配置: app模塊使用SpringBoot框架快速發布一個測試用的應用,並且依賴於project-core模塊,具體配置如下:
apply plugin: 'org.springframework.boot'
dependencies { compile project(':project-core') compile('org.springframework.boot:spring-boot-starter') compile('org.springframework.boot:spring-boot-starter-actuator') compile('org.springframework.boot:spring-boot-starter-web')}8、project-core模塊發布類: 在此模塊下新建一個類,供app模塊調用:
9、發布project-app模塊: 通過SpringBoot配置,寫一個測試接口,使用project-core模塊的代碼提供響應消息,然后將此模塊發布為一個應用,供外部訪問:
然后啟動這個應用,可以根據控制台日志查看啟動狀態,這里啟動成功,並成功發布了request接口:
默認端口是8080,我們現在可以通過瀏覽器去訪問一下request測試接口,成功返回數據:
10、總結 在學習gradle過程中,發現需要花部分精力在上面,需要熟悉Groovy的基礎語法,然后才能去深入研究gradle工具的使用,使用過程中能夠感覺到gradle的強大,我現在只是看到了它的冰山一角,真正強大的特性還有很多,有時間可以閱讀《gradle實戰》這本書,我還沒開始看,從目錄結構看,感覺很不錯,實際開發中肯定能用的上。--------------------- 作者:皮鞭抽你爸爸 來源:CSDN 原文:https://blog.csdn.net/java779808321/article/details/79890167 版權聲明:本文為博主原創文章,轉載請附上博文鏈接!