Intellij Idea 14使用Maven创建SpringMVC项目

LZ平时在学校和公司用习惯了Intellij写Java,一开始学习Java的时候用的也是Eclipse,后来接触到了这款IDE,顿时爱不释手。强大的代码补全能力,美观的UI设计,对各种项目的快速支持能力,用在其中简直难以自拔啊!安利了这么多,赶紧进入正题吧,这篇博客的科普性更强,目的是帮助Web开发的小白能快速建立自己的第一个项目。

        从建项目开始吧!

Intellij Idea 14使用Maven创建SpringMVC项目

        首先新建一个Module,Intellij里面Module和Project的区别就不说了,总之不要带着Eclipse的思维。选择Maven项目,并勾选图中红色的区域,然后下一步。

Intellij Idea 14使用Maven创建SpringMVC项目

        这里的GroupId和ArtifactId是表征你项目的记号,下一步。

Intellij Idea 14使用Maven创建SpringMVC项目

        填好你的项目名称并选择存储位置,点下一步。

Intellij Idea 14使用Maven创建SpringMVC项目

        到了这里IDE会自动下载一些配置,稍等一会就能自动配置好。然后打开pom.xml文件,在该配置文件里加入你需要引入的包的名称,你想要什么包都可以去Maven Reposity里查找。

Intellij Idea 14使用Maven创建SpringMVC项目

我在这里加入的依赖如下,主要是需要的一些核心包,加完之后就可以静静等待IDE下载这些JAR包。

[html] view plain copy
  1. <dependency>  
  2.       <groupId>org.springframework</groupId>  
  3.       <artifactId>spring-core</artifactId>  
  4.       <version>4.2.3.RELEASE</version>  
  5.     </dependency>  
  6.   
  7.     <dependency>  
  8.       <groupId>org.springframework</groupId>  
  9.       <artifactId>spring-web</artifactId>  
  10.       <version>4.2.3.RELEASE</version>  
  11.     </dependency>  
  12.   
  13.     <dependency>  
  14.       <groupId>org.springframework</groupId>  
  15.       <artifactId>spring-aop</artifactId>  
  16.       <version>4.2.3.RELEASE</version>  
  17.     </dependency>  
  18.   
  19.     <dependency>  
  20.       <groupId>org.springframework</groupId>  
  21.       <artifactId>spring-context-support</artifactId>  
  22.       <version>4.2.3.RELEASE</version>  
  23.     </dependency>  
  24.   
  25.     <dependency>  
  26.       <groupId>org.apache.velocity</groupId>  
  27.       <artifactId>velocity</artifactId>  
  28.       <version>1.6.4</version>  
  29.     </dependency>  
  30.   
  31.     <dependency>  
  32.       <groupId>org.apache.velocity</groupId>  
  33.       <artifactId>velocity-tools</artifactId>  
  34.       <version>2.0</version>  
  35.     </dependency>  
  36.   
  37.     <dependency>  
  38.       <groupId>org.springframework</groupId>  
  39.       <artifactId>spring-webmvc</artifactId>  
  40.       <version>4.2.3.RELEASE</version>  
  41.     </dependency>  
  42.   
  43.     <dependency>  
  44.       <groupId>org.springframework</groupId>  
  45.       <artifactId>spring-test</artifactId>  
  46.       <version>4.2.3.RELEASE</version>  
  47.     </dependency>  
  48.   
  49.     <dependency>  
  50.       <groupId>jstl</groupId>  
  51.       <artifactId>jstl</artifactId>  
  52.       <version>1.2</version>  
  53.     </dependency>  
  54.   
  55.     <dependency>  
  56.       <groupId>org.springframework.data</groupId>  
  57.       <artifactId>spring-data-jpa</artifactId>  
  58.       <version>1.9.1.RELEASE</version>  
  59.     </dependency>  
  60.   
  61.     <dependency>  
  62.       <groupId>org.hibernate.javax.persistence</groupId>  
  63.       <artifactId>hibernate-jpa-2.0-api</artifactId>  
  64.       <version>1.0.0.Final</version>  
  65.     </dependency>  
  66.   
  67.     <dependency>  
  68.       <groupId>org.hibernate</groupId>  
  69.       <artifactId>hibernate-entitymanager</artifactId>  
  70.       <version>3.6.10.Final</version>  
  71.     </dependency>  
  72.   
  73.     <dependency>  
  74.       <groupId>mysql</groupId>  
  75.       <artifactId>mysql-connector-java</artifactId>  
  76.       <version>5.1.34</version>  
  77.     </dependency>  
  78.   
  79.     <dependency>  
  80.       <groupId>javax.servlet</groupId>  
  81.       <artifactId>javax.servlet-api</artifactId>  
  82.       <version>3.1.0</version>  
  83.     </dependency>  
  84.   
  85.     <dependency>  
  86.       <groupId>org.json</groupId>  
  87.       <artifactId>json</artifactId>  
  88.       <version>20080701</version>  
  89.     </dependency>  
  90.   
  91.     <dependency>  
  92.       <groupId>commons-httpclient</groupId>  
  93.       <artifactId>commons-httpclient</artifactId>  
  94.       <version>3.1</version>  
  95.     </dependency>  
        下载完后,目前的结构如下图:

Intellij Idea 14使用Maven创建SpringMVC项目

        打开web.xml文件,这个配置文件是你项目的核心配置,你的框架维护都在这里。在<web-app>里面添加如下的配置,这里有对中文编码的解析,有对加载本地资源的过滤属性等。然后在与web.xml的同级目录下新建一个mvc-dispatcher-servlet.xml的配置文件,一定要注意你的文件名与下面倒数第三行的配置多一个servlet。

[html] view plain copy
  1. <filter>  
  2.         <filter-name>encodingFilter</filter-name>  
  3.         <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  
  4.         <init-param>  
  5.             <param-name>encoding</param-name>  
  6.             <param-value>UTF-8</param-value>  
  7.         </init-param>  
  8.         <init-param>  
  9.             <param-name>forceEncoding</param-name>  
  10.             <param-value>true</param-value>  
  11.         </init-param>  
  12.     </filter>  
  13.     <filter-mapping>  
  14.         <filter-name>encodingFilter</filter-name>  
  15.         <url-pattern>/*</url-pattern>  
  16.     </filter-mapping>  
  17.   
  18.     <servlet>  
  19.         <servlet-name>mvc-dispatcher</servlet-name>  
  20.         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
  21.         <load-on-startup>1</load-on-startup>  
  22.     </servlet>  
  23.   
  24.     <servlet-mapping>  
  25.         <servlet-name>default</servlet-name>  
  26.         <url-pattern>*.css</url-pattern>  
  27.     </servlet-mapping>  
  28.   
  29.     <servlet-mapping>  
  30.         <servlet-name>default</servlet-name>  
  31.         <url-pattern>*.gif</url-pattern>  
  32.     </servlet-mapping>  
  33.   
  34.     <servlet-mapping>  
  35.         <servlet-name>default</servlet-name>  
  36.         <url-pattern>*.jpg</url-pattern>  
  37.     </servlet-mapping>  
  38.   
  39.     <servlet-mapping>  
  40.         <servlet-name>default</servlet-name>  
  41.         <url-pattern>*.js</url-pattern>  
  42.     </servlet-mapping>  
  43.   
  44.     <servlet-mapping>  
  45.         <servlet-name>mvc-dispatcher</servlet-name>  
  46.         <url-pattern>/</url-pattern>  
  47.     </servlet-mapping>  
        IDE会自动识别该Spring配置文件,在mvc-dispatcher-servlet.xml文件里是如下的配置,Spring的注解都在这个xml里。

[html] view plain copy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans"  
  3.        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4.        xmlns:context="http://www.springframework.org/schema/context"  
  5.        xmlns:mvc="http://www.springframework.org/schema/mvc"  
  6.        xsi:schemaLocation="http://www.springframework.org/schema/beans  
  7.        http://www.springframework.org/schema/beans/spring-beans.xsd  
  8.        http://www.springframework.org/schema/context  
  9.        http://www.springframework.org/schema/context/spring-context.xsd  
  10.        http://www.springframework.org/schema/mvc  
  11.        http://www.springframework.org/schema/mvc/spring-mvc.xsd">  
  12.   
  13.        <!--指明 controller 所在包,并扫描其中的注解-->  
  14.        <context:component-scan base-package="com.zhaoyh.controller"/>  
  15.   
  16.        <!-- 静态资源(js、image等)的访问 -->  
  17.        <mvc:resources mapping="/Resources/**" location="/Resources/" />  
  18.        <mvc:resources mapping="/Scripts/**" location="/Scripts/" />  
  19.        <mvc:resources mapping="/Styles/**" location="/Styles/" />  
  20.   
  21.        <!-- 开启注解 -->  
  22.        <mvc:annotation-driven/>  
  23.   
  24.        <bean id="velocityConfig" class="org.springframework.web.servlet.view.velocity.VelocityConfigurer">  
  25.               <property name="resourceLoaderPath" value="/WEB-INF/VM/" />  
  26.               <property name="velocityProperties">  
  27.                      <props>  
  28.                             <prop  key="input.encoding">UTF-8</prop>  
  29.                             <prop  key="output.encoding">UTF-8</prop>  
  30.                      </props>  
  31.               </property>  
  32.        </bean>  
  33.        <bean id="viewResolver" class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">  
  34.               <property name="cache" value="true" />  
  35.               <property name="prefix" value="" />  
  36.               <property name="suffix" value=".vm" />  
  37.               <property name="contentType"><value>text/html;charset=UTF-8</value></property>  
  38.        </bean>  
  39. </beans>  

        在main下建立java目录,并将其设置为Sources,并建一个com.zhaoyh.controller的包,并新建MainController的类。
Intellij Idea 14使用Maven创建SpringMVC项目
        

        在webapp/WEB-INF下建立VM目录,并在该VM目录新建一个index.vm文件,这是一种Velocity模版文件,不喜欢可以略过哈,JSP大法好!并删除原有的index.jsp。现在的目录结构如下:

Intellij Idea 14使用Maven创建SpringMVC项目
        index.vm文件里直接加一个<h1>Hello Spring</h1>就行,MainController里的代码如下:
[java] view plain copy
  1. public static final String INDEX = "index";  
  2. @RequestMapping(value = "/", method = RequestMethod.GET)  
  3. public String index() {  
  4.     return INDEX;  
  5. }  
       接下来就要部署tomcat服务器了,配置过程炒鸡简单,记住按照下图中红色区域的部分添加项目到tomcat。Intellij Idea 14使用Maven创建SpringMVC项目

Intellij Idea 14使用Maven创建SpringMVC项目

        接下来点击右上角的运行按钮,就等着你的第一个页面映入眼帘吧!下面是我的运行结果:

Intellij Idea 14使用Maven创建SpringMVC项目

注:欢迎转载,有问题可直接联系!