訪問GitHub下載最新源碼:github.com/gaussic/Spri


文章已針對IDEA 2016做了一定的更新,部分更新較為重要,請重新閱讀文章並下載最新源碼。

另外:文中的附圖部分仍然為舊版本,請參照自身版本進行配置。

作者:Gaussic

原文:my.oschina.net/gaussik/

出自:開源中國


前言

由於近期一直在做學術方面的工作,項目開發相關工作並沒有花太多的時間,導致這篇文章的更新停步了很長一段時間。現在應大家的要求,補上剩餘部分,望能給大家帶來一些幫助。由於時間的原因,在開發環境上面有了一定的更新,但是並不造成太大的影響。

一、相關環境

- Intellij IDEA 2016.2 Ultimate

- Tomcat 8.0.35

- JDK 1.8.0_92

- Spring 4.2.6

- MySql 5.7

- Maven 3.3.9

- Bootstrap 3.3.5

以上是我要做的這個demo所需要的東西,當然有些是可選的,版本也是可控的。比如說如果你用不慣Maven的話可以自行去官網下載jar包然後導入自己的工程中,如果想要學習下Maven可以看看《Maven視頻教程》(偶然找到,這個老師做的視頻都挺好,推薦以下),不用完全的去學習Maven,懂大概意思後再去找找IntelliJ IDEA如何配置maven的相關文章就足夠了。

還有Bootstrap,純粹是個人潔癖,不需要這可以去之。

事先聲明,請確保IntelliJ IDEA、Tomcat、MySql和JDK都已經安裝好。Maven和Bootstrap的話能有則有。前者為了讓導包更容易,後者為了讓頁面更美觀。此外,由於jdk以及mysql的安裝網上已經有了很多教程,在此為節省篇幅不做介紹。

二、本地Maven與Tomcat的安裝

註:如果使用IntelliJ IDEA集成的maven 3.0.5的話,可以忽略此步安裝。

1、下載並安裝本地maven

點擊「Apache-Maven官方網站」進入官網,點擊左側Download選項:

進入了下載頁面,往下拉可發現當前版本是3.3.3,點擊下面紅框中的apache-maven-3.3.9-bin.zip就可下載,下載後解壓縮到相應目錄下:

新增系統變數MAVEN_HOME:即MAVEN安裝目錄:

在Path中加入:%MAVEN_HOME%in;

在cmd中輸入mvn -v,若顯示如下,則說明本地maven配置完成:

2、下載並安裝本地Tomcat

進入Tomcat官網,點擊左側Download的Tomcat8.0,進入Tomcat的下載頁面:

64位Windows版本下載64-bit Windows zip (pgp, md5, sha1),解壓到所需目錄下:

解壓後到in目錄下運行startup.bat,如圖下所示,如果出現Server startup in xxxx ms說明Tomcat安裝成功。

三、創建Maven Web項目

前面說了這麼多,差不多基本的東西都保障了(前提保證你已經安裝了jdk)。現在進入正題,如何來創建一個Web項目。對於不使用Maven的開發者,可以直接建一個簡單的Web項目。使用Maven的話,請按照圖進行操作。

菜單File->New Project可進入上圖界面,首先選擇左邊欄Maven,再配置JDK(一般如果之前添加了JDK的話會自動填充,如未添加的話點擊旁邊的New將JDK目錄導入即可)。勾選「Create from archetype「,然後選中4處藍色位置webapp,點Next,進入如下界面:

這裡需要填寫GroupId和ArtifactId還有Version,這三個屬性目的是標識你的項目的唯一性,比如Tomcat的GroupId是org.apache,即它是apache組織的項目,ArtifactId是tomcat,項目名為tomcat,而我當前使用的Version是7.0.68。這些只在發布時有用,在此可以隨便填寫,填好後點Next,到如下界面。

打開Maven home directory,可以發現IntelliJ IDEA已經集成了Maven 2和Maven 3兩個版本,如果使用默認集成的maven的話,選擇Buldled(Maven 3),直接點擊Next。

我們也可以導入本地新安裝的較新的Maven版本,點擊藍色箭頭右邊的 ... 按鈕將Maven路徑導入即可,點擊Next:

填寫項目名,選擇項目保存路徑,點擊Finish:

進入如下界面,maven會在後台生成web項目,這需要等待一定的時間,視網路環境而定,經驗發現用較新版本的maven項目生成更快,使用IDEA集成的maven可能會等待很長一段實踐。

左邊紅框中展示了該項目的文件結構。可以發現,它在src/main下創建了一個recources文件夾,該文件夾一般用來存放一些資源文件,還有一個webapp文件夾,用來存放web配置文件以及jsp頁面等,這已經組成了一個原始的web應用。選擇右邊紅框的Enable-Auto-Import,可以在每次修改pom.xml後,自動的下載並導入jar包,這一點在後面詳述。

註:如果這一步生成實在太慢的話,建議看一下以下兩篇(感謝26樓 wintersun2 同學的提出):

文章1: cnblogs.com/beiyeren/p/

文章2:blog.csdn.net/cleverlzc

四、Maven自動導入jar包

既然我們要用SpringMVC開發,那肯定少不了SpringMVC的相關jar包。如果不使用Maven的話,那就需要去官網下載相關的jar包,然後導入到項目中。現在使用maven的話,就不需要上網找jar包了。具體容我一一道來。

Maven所做的工作其實很簡單,就是自動把你需要的jar包下載到本地,然後關聯到項目中來。maven的所有jar包都是保存在幾個中央倉庫裡面的,其中一個最常用的是Maven Repository,即,你需要什麼jar包,它就會從倉庫中拿給你。那麼如何告訴maven需要什麼jar包呢?我們看看工程目錄,能找到一個pom.xml文件(這個文件在剛創建好項目時就已經展現在了大家面前),maven就是靠它來定義需求的,代碼如下:

<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.gaussic</groupId>
<artifactId>springmvcdemo</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>springmvcdemo 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>springmvcdemo</finalName>
</build>
</project>

我們可以看到這個文件包含了我們之前定義的本項目的gropId等信息,這些信息是該項目的標識,我們不要去改動它們。重點看<dependencies>標籤,翻譯過來是」依賴「的意思,也就是說把對每個包的需求都稱為一個依賴<depedency>,定義在<dependencies>中。在每個<depedency>中,你需要提供的是所需jar包的groupId、artifactId、version這三個必要信息。比如上面我們看到引入可一個junit包,格式如下:

<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.2.5.RELEASE,可以看到其dependency寫法如下紅框所示:

我們將其複製到pom.xml中的<dependencies>中:

這樣,Maven就會開始自動下載jar包到本地倉庫,然後關聯到你的項目中,下載完成後,我們展開工程目錄中External Libraries:

可以發現,雖然我們只寫了一個依賴,但是它導入了兩個jar包,也就是說,導入某個jar包時,與它密切相關的jar包也會同時被導入進來。

除了spring-core,我還要spring-context,複製spring-core的<dependency>,將spring-core改為spring-context,如下:

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.2.5.RELEASE</version>
</dependency>

下載完成後,查看External Libraries,會不會發現,瞬間導入了好多jar包(當然不是瞬間,這得看你的網速了)呢:

這就是Maven的強大之處,如果你需要使用SpringMVC開發網站的話,只需記住幾個重要的包的名字,就可以輕鬆將所有包導入項目中。

長話短說,現在我們要進行SpringMVC的開發,請把你的pom.xml變成下面的樣子,當然不要改你的grupId等信息(從modelVersion到url都不要動):

<properties>
<spring.version>4.2.6.RELEASE</spring.version>
<hibernate.version>5.1.0.Final</hibernate.version>
</properties>

請在<dependencies>中加入以下依賴:

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>

<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-jpa</artifactId>
<version>1.10.1.RELEASE</version>
</dependency>

<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>${hibernate.version}</version>
</dependency>

<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-c3p0</artifactId>
<version>${hibernate.version}</version>
</dependency>

<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.5.2</version>
</dependency>

<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>

<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.39</version>
</dependency>

將<build>改成如下形式:

<build>
<finalName>springmvcdemo</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>

我們可以發現,除了導入了spring相關jar包,還有一些其他的包,這些包都是有作用的,我們後面慢慢說。如果不使用Maven請自行下載spring、hibernate、mysql、jstl等相關jar包然後導入到工程中。至此,jar包的導入就完成了,我們按 ctrl+alt+shift+s,或者File->Project Structure查看一下項目結構,看看有什麼問題:

由於之後我們要開始寫代碼了,先做一些配置,選擇Modules,在SpringMVCDemo的srcmain文件夾中新建一個文件夾,取名為java:

選中java文件夾,點擊上面的Make as:Sources,該文件夾就會變成藍色,用以保存java代碼,按OK,結束配置。


IntelliJ IDEA、Spring MVC,Maven與Tomcat教程,有需要得花可以留言


推薦閱讀:
相关文章