使用IntelliJ IDEA開發SpringMVC網站
最近在做某在線教育平台網站的開發,按師兄的建議要用SpringMVC來搞。之前對SpringMVC的認知度為0,網上查閱各種資料,發現五花八門的配置都有,文章寫的那叫一個亂啊,我覺得有些文章還是不要發出來的比較好,簡直誤人子弟耽誤時間。最近借着師兄網上搜集的一些開發經驗,找到了IntelliJ網站上的這篇文章《Getting Started with SpringMVC, Hibernate and JSON》,外加看了孔老師的《SpringMVC視頻教程》,着實有一種醍醐灌頂的感覺,整個路子瞬間通了,開發速度指數型上漲。現在把開發過程中的一些相關經驗貼出來。
一、相關環境:
- Intellij IDEA 14.0.3 Ultimate
- Tomcat 7.0.57
- JDK 1.7.0_75
- Spring 3.2.0
- MySql 5.6
- Maven 3.2.5
- Bootstrap 3.3.2
以上是我要做的這個demo所需要的東西,當然有些是可選的,版本也是可控的。比如說如果你用不慣Maven的話可以自行去官網下載jar包然后導入自己的工程中,如果想要學習下Maven可以看看《Maven視頻教程》(偶然找到,這個老師做的視頻都挺好的,推薦以下),不用完全的去學習Maven,懂大概意思后再去找找IntelliJ IDEA如何配置maven的相關文章就足夠了。
還有Bootstrap,純粹是個人潔癖,不需要這可以去之。
事先聲明,請確保IntelliJ IDEA、Tomcat、MySql和JDK都已經安裝好。Maven和Bootstrap的話能有則有。前者為了讓導包更容易,后者為了讓頁面更美觀。廢話不多說,正式開始
二、Maven的安裝與在IntelliJ中的配置
思來想去這節還是得講講,雖然比較簡單但是很有作用。
點擊“Apache-Maven官方網站”進入官網:
左上角紅框處點擊Download便進入了下載頁面,往下拉,可發現,當前版本是3.2.5,點擊下面紅框中的apache-maven-3.2.5-bin.zip就可下載,下載后解壓縮到相應目錄下:
接下來配幾個環境變量,新增系統變量M2_HOME:即MAVEN安裝目錄:
在Path中加入:%M2_HOME%\bin;
至此,maven便安裝好了,接下來在IntelliJ中配置Maven。在Intellij中按快捷鍵 ctrl+alt+s,或者選擇File-Settings,進入到設置頁面,在搜索框中輸入maven,如下圖所示:
一般如果環境變量配置好了的話,這三樣IntelliJ都會默認識別的,如果未識別可能原因是你的環境變量沒配好,我們確認這三樣好了之后,則說明IntelliJ中Maven已經配置好了。
三、IntelliJ中配置Tomcat
為了提供完全周到的服務,還是在這里講講Tomcat的配置,Tomcat也屬於Apache,所以安裝方法與Maven相似,只是不用配置環境變量。請自行上網下載壓縮包版本如
-
32-bit Windows zip (pgp, md5, sha1)
-
64-bit Windows zip (pgp, md5, sha1)
不建議下載安裝器,解壓后到\bin\目錄下運行startup.bat,如圖下所示,如果出現Server startup in xxxx ms說明Tomcat安裝成功。
在IntelliJ中,可以選擇提前配置好Tomcat,或者之后配置。
提前配置的話,打開Settings,搜索Application Server,如下圖所示:
點 + 號,選擇Tomcat Server,導入Tomcat路徑,OK,Apply,這樣Tomcat就配置好了:
四、創建Maven Web項目
前面說了這么多,差不多基本的東西都保障了(當然如果你還沒裝jdk,那文章寫到這我也是淚如雨下了)。現在進入正題,如何來創建一個Web項目。對於不使用Maven的開發者,可以直接建一個簡單的Web項目。使用Maven的話,請按照圖進行操作。
菜單File->New Project可進入上圖界面,首先選擇左邊欄Maven,再配置JDK(一般如果之前添加了JDK的話會自動填充,如未添加的話點擊旁邊的New將JDK目錄導入進來就可以)。勾選“Create from archetype“,然后選中4處藍色位置,點Next,進入如下界面:
這里需要填寫GroupId和ArtifactId還有Version,這三個屬性目的是標識你的項目的唯一性,比如Tomcat的GroupId是org.apache,即它是apache組織的項目,ArtifactId是tomcat,項目名為tomcat,而我當前使用的Version是7.0.57。這些只在發布時有用,在此可以隨便填寫,填好后點兩次Next,到如下界面:
給你的項目起個名字,然后Finish,這樣一個maven管理的web項目就創建完成了,其結構如下圖所示(需要等待加載一會):
左邊紅框中展示了該項目的文件結構。我們可以發現,它在src/main下創建了一個recources文件夾,該文件夾一般用來存放一些資源文件,還有一個webapp文件夾,用來存放web配置文件以及jsp頁面等,這已經組成了一個原始的web應用。現在我們簡單的運行一下,我們點擊右邊紅框上的向下箭頭,選擇Edit Configuration以配置該項目的Tomcat服務器,
點擊左上角的 + 號,選擇Tomcat Server->Local,進入如下界面:
先給服務器改個名,在選擇Deployment,這一步相當於部署應用到Tomcat,點擊右邊 + 號,選擇Artifact,進入如下界面:
選擇war exploded那個選項,然后OK,這樣貓頭上的那個大X就消失了,即項目已部署完成,點擊OK,如圖所示:
右上角出現了Tomcat的標識,點擊右邊那個箭頭,啟動Tomcat,然后在瀏覽器中輸入localhost:8080,出現了Hello World!,說明都已經配置好了。
五、Maven導入jar包
既然我們要用SpringMVC開發,那肯定少不了SpringMVC的相關jar包。如果不使用Maven的話,那就需要去官網下載相關的jar包,然后導入到項目中。現在使用maven的話,就不需要上網找jar包了。具體容我一一道來。
Maven所做的工作其實很簡單,就是自動把你需要的jar包下載到本地,然后關聯到項目中來。maven的所有jar包都是保存在幾個中央倉庫里面的,其實一個最常用的是Maven Repository,即,你需要什么jar包,它就會從倉庫中拿給你。那么如何告訴maven需要什么jar包呢?我們看看工程目錄,能找到一個pom.xml文件(這個文件在剛創建好項目時就已經展現在了大家面前),maven就是靠它來定義需求的,代碼如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
<
project
xmlns
=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi
=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation
=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"
>
<
modelVersion
>4.0.0</
modelVersion
>
<
groupId
>com.gaussik</
groupId
>
<
artifactId
>mooc</
artifactId
>
<
packaging
>war</
packaging
>
<
version
>1.0-SNAPSHOT</
version
>
<
name
>mooc Maven Webapp</
name
>
<
url
>http://maven.apache.org</
url
>
<
dependencies
>
<
dependency
>
<
groupId
>junit</
groupId
>
<
artifactId
>junit</
artifactId
>
<
version
>3.8.1</
version
>
<
scope
>test</
scope
>
</
dependency
>
</
dependencies
>
<
build
>
<
finalName
>mooc</
finalName
>
</
build
>
</
project
>
|
我們可以看到這個文件包含了我們之前定義的本項目的gropId等信息,這些信息是該項目的標識,我們不要去改動它們。重點看<dependencies>標簽,翻譯過來是”依賴“的意思,也就是說把對每個包的需求都稱為一個依賴<depedency>,定義在<dependencies>中。在每個<depedency>中,你需要提供的是所需jar包的groupId、artifactId、version這三個必要信息。比如上面我們看到引入可一個junit包,格式如下:
1
2
3
4
5
6
|
<
dependency
>
<
groupId
>junit</
groupId
>
<
artifactId
>junit</
artifactId
>
<
version
>3.8.1</
version
>
<
scope
>test</
scope
>
</
dependency
>
|
這是單元測試包,提供了三個基本信息,第4個scope對其他包來說是非必需的。所有jar包的引入都要滿足這個格式。那么如何查看這些jar包的3個信息呢,可能剛接觸是開發者還不是很熟悉,這個時候就需要查閱倉庫了。比如我們需要引入Spring核心jar包spring-core,打開Maven Repository,搜索spring-core,進入如下界面:
點擊進入紅框選中的Spring Core,如下所示,可以看到各版本的使用情況:
先加入我們需要4.1.4.RELEASE版本的spring-core.jar,我們點擊該版本,進入如下界面,發現它給出了這個版本jar包的依賴引用方法,把紅框中代碼復制到pom.xml的<dependicies>中后,發現右上角出現了maven的詢問,是否要導入改變:
點擊Import Changes,Maven就會開始自動下載jar包到本地(默認C盤,不過是可以修改的),然后關聯到你的項目中,下載完成后,我們展開工程目錄中External Libraries:
可以發現,雖然我們只寫了一個依賴,但是它導入了兩個jar包,也就是說,導入某個jar包時,與它密切相關的jar包也會同時被導入進來。
那么,除了spring-core,我還要spring-context,復制spring-core的<dependency>,將spring-core改為spring-context,如下:
1
2
3
4
5
|
<
dependency
>
<
groupId
>org.springframework</
groupId
>
<
artifactId
>spring-context</
artifactId
>
<
version
>4.1.4.RELEASE</
version
>
</
dependency
>
|
然后Import Changes,查看External Libraries,會不會發現,瞬間導入了好多jar包當然不是瞬間,這得看你的網速了)呢:
這就是Maven的強大之處,如果你需要使用SpringMVC開發網站的話,只需記住幾個重要的包的名字,就可以輕松將所有包導入項目中。
長話短說,現在我們要進行SpringMVC的開發,請把你的pom.xml編程下面的樣子,當然不要改你的grupId等信息(從modelVersion到url都不要動):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
<
project
xmlns
=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi
=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation
=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"
>
<
modelVersion
>4.0.0</
modelVersion
>
<
groupId
>com.gaussik</
groupId
>
<
artifactId
>mooc</
artifactId
>
<
packaging
>war</
packaging
>
<
version
>1.0-SNAPSHOT</
version
>
<
name
>mooc Maven Webapp</
name
>
<
url
>http://maven.apache.org</
url
>
<
properties
>
<
spring.version
>3.2.0.RELEASE</
spring.version
>
<
spring-data.version
>1.2.0.RELEASE</
spring-data.version
>
</
properties
>
<
dependencies
>
</
dependencies
>
<
build
>
<
finalName
>mooc</
finalName
>
</
build
>
</
project
>
|
請在<dependencies>中加入以下依賴:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
<
dependency
>
<
groupId
>org.springframework</
groupId
>
<
artifactId
>spring-core</
artifactId
>
<
version
>${spring.version}</
version
>
</
dependency
>
<
dependency
>
<
groupId
>org.springframework</
groupId
>
<
artifactId
>spring-web</
artifactId
>
<
version
>${spring.version}</
version
>
</
dependency
>
<
dependency
>
<
groupId
>javax.servlet</
groupId
>
<
artifactId
>servlet-api</
artifactId
>
<
version
>2.5</
version
>
</
dependency
>
<
dependency
>
<
groupId
>javax.servlet.jsp</
groupId
>
<
artifactId
>jsp-api</
artifactId
>
<
version
>2.1</
version
>
<
scope
>provided</
scope
>
</
dependency
>
<
dependency
>
<
groupId
>org.springframework</
groupId
>
<
artifactId
>spring-webmvc</
artifactId
>
<
version
>${spring.version}</
version
>
</
dependency
>
<
dependency
>
<
groupId
>org.springframework</
groupId
>
<
artifactId
>spring-test</
artifactId
>
<
version
>${spring.version}</
version
>
<
scope
>test</
scope
>
</
dependency
>
<
dependency
>
<
groupId
>jstl</
groupId
>
<
artifactId
>jstl</
artifactId
>
<
version
>1.2</
version
>
</
dependency
>
<
dependency
>
<
groupId
>org.springframework.data</
groupId
>
<
artifactId
>spring-data-jpa</
artifactId
>
<
version
>${spring-data.version}</
version
>
</
dependency
>
<
dependency
>
<
groupId
>org.hibernate.javax.persistence</
groupId
>
<
artifactId
>hibernate-jpa-2.0-api</
artifactId
>
<
version
>1.0.0.Final</
version
>
</
dependency
>
<
dependency
>
<
groupId
>org.hibernate</
groupId
>
<
artifactId
>hibernate-entitymanager</
artifactId
>
<
version
>3.6.10.Final</
version
>
</
dependency
>
<
dependency
>
<
groupId
>mysql</
groupId
>
<
artifactId
>mysql-connector-java</
artifactId
>
<
version
>5.1.34</
version
>
</
dependency
>
<
dependency
>
<
groupId
>org.json</
groupId
>
<
artifactId
>json</
artifactId
>
<
version
>20080701</
version
>
</
dependency
>
|
我們可以發現,除了導入了spring相關jar包,還有一些其他的包,這些包都是有作用的,我們后面慢慢說。如果不使用Maven請自行下載spring、hibernate、mysql、jstl、javax-servlet、json等相關jar包然后導入到工程中。至此,jar包的導入就完成了,我們按 ctrl+alt+shift+s,或者File->Project Structure查看一下項目結構,看看有什么問題:
由於之后我們要開始寫代碼了,先做一些配置,選擇Modules,在mooc的src\main文件夾中新建一個文件夾,取名為java:
選中java文件夾,點擊上面的Make as:Sources,該文件夾就會變成藍色,用以保存java代碼。
六、SpringMVC實踐
進行完上面的配置,那就說明現在基本的開發和運行環境已經搭建好了,現在要開始進行SpringMVC的網站開發。
。。。待續