IntelliJ IDEA 创建SpringMVC的maven项目

第一步: 点击file --> new --> project...

IntelliJ IDEA 创建SpringMVC的maven项目

IntelliJ IDEA 创建SpringMVC的maven项目

 

第二步: 左侧选择maven, 选择 Create from archetype选项, 然后点击maven-archetype-webapp这个骨架, 最后点击Next

IntelliJ IDEA 创建SpringMVC的maven项目

第三步: 填写GroupId和ArtifactId,Version ,默认即可,这三个属性可以唯一标识一个项目,比如Tomcat的 GroupId 是org.apache,即它是apache组织的项目,ArtifactId是tomcat,项目名为tomcat.

      这些信息只在发布时有用,在此可以随便填写。

IntelliJ IDEA 创建SpringMVC的maven项目

第四步: 配置maven

 IntelliJ IDEA 创建SpringMVC的maven项目

第五步: 完成创建

IntelliJ IDEA 创建SpringMVC的maven项目

第六步: 新建完成后

IntelliJ IDEA 创建SpringMVC的maven项目

第七步: 创建java 目录

IntelliJ IDEA 创建SpringMVC的maven项目

IntelliJ IDEA 创建SpringMVC的maven项目

 第八步:更改java文件夹为 Source Root

IntelliJ IDEA 创建SpringMVC的maven项目

  • Sources 一般用于标注类似 src 这种可编译目录。有时候我们不单单项目的 src 目录要可编译,还有其他一些特别的目录也许我们也要作为可编译的目录,就需要对该目录进行此标注。只有 Sources 这种可编译目录才可以新建 Java 类和包,这一点需要牢记。
  • Tests 一般用于标注可编译的单元测试目录。在规范的 maven 项目结构中,*目录是 src,maven 的 src 我们是不会设置为 Sources 的,而是在其子目录 main 目录下的 java 目录,我们会设置为 Sources。而单元测试的目录是 src - test - java,这里的 java 目录我们就会设置为 Tests,表示该目录是作为可编译的单元测试目录。一般这个和后面几个我们都是在 maven 项目下进行配置的,但是我这里还是会先说说。从这一点我们也可以看出 IntelliJ IDEA 对 maven 项目的支持是比较彻底的。
  • Resources 一般用于标注资源文件目录。在 maven 项目下,资源目录是单独划分出来的,其目录为:src - main -resources,这里的 resources 目录我们就会设置为 Resources,表示该目录是作为资源目录。资源目录下的文件是会被编译到输出目录下的。
    Test Resources 一般用于标注单元测试的资源文件目录。在 maven 项目下,单元测试的资源目录是单独划分出来的,其目录为:src - test -resources,这里的 resources 目录我们就会设置为 Test Resources,表示该目录是作为单元测试的资源目录。资源目录下的文件是会被编译到输出目录下的。
  • Excluded 一般用于标注排除目录。被排除的目录不会被 IntelliJ IDEA 创建索引,相当于被 IntelliJ IDEA 废弃,该目录下的代码文件是不具备代码检查和智能提示等常规代码功能。
  • 通过上面的介绍,我们知道对于非 maven 项目我们只要会设置 src 即可。
    (引用自http://wiki.jikexueyuan.com/project/intellij-idea-tutorial/eclipse-java-web-project-introduce.html)

第九步: 创建目录和文件,完成后目录结构如下

IntelliJ IDEA 创建SpringMVC的maven项目

第十步: java代码

    Person.java

package com.example.entity;

public class Person {
    private String name;
    private String sex;

    //setter  getter
}

   PersonService.java

package com.example.service;

import com.example.entity.Person;

public interface PersonService {
    Person queryPerson(String name);
}

   PersonServiceImpl.java

package com.example.service.impl;

import com.example.entity.Person;
import com.example.service.PersonService;


public class PersonServiceImpl implements PersonService{

    public Person queryPerson(String name) {
        return null;
    }
}