1 介绍IDEA-主要功能、主要优势

IDEA,全称 IntelliJ IDEA,是 Java 语言的集成开发环境,IDEA 在业界被公认为是最好的 java 开发工具之一,尤其在智能代码助手、代码自动提示、重构、javaEE支持、Ant、JUnit、CVS 整合、代码审查、创新的 GUI 设计等方面的功能可以说是超常的。

IntelliJ IDEA 在 2015 年的官网上这样介绍自己:

Excel at enterprise, mobile and web development with Java, Scala and Groovy, with all the latest modern technologies and frameworks available out of the box.

简明翻译:IntelliJ IDEA 主要用于支持 Java、Scala、Groovy 等语言的开发工具,同时具备支持目前主流的技术和框架,擅长于企业应用、移动应用和 Web 应用的开发。

IDEA 的主要功能介绍:

语言支持上:

idea开发yarn idea开发工具简介_git

其他支持:

idea开发yarn idea开发工具简介_git_02

IDEA 的主要优势:(相较于 Eclipse 而言)

① 强大的整合能力。比如:Git、Maven、Spring 等

② 提示功能的快速、便捷

③ 提示功能的范围广

④ 好用的快捷键和代码模板 private static final psf

Syso  --  System.out.println()

   Psf   ---  private static final

⑤ 精准搜索

2 IDEA的下载、安装

官网:https://www.jetbrains.com/idea/download/#section=windows

IDEA 分为两个版本:旗舰版(Ultimate)和社区版(Community)。

旗舰版收费(限 30 天免费试用),社区版免费,这和 Eclipse 有很大区别。

idea开发yarn idea开发工具简介_idea开发yarn_03

这里提供了不同操作系统下的两个不同版本的安装文件。

两个不同版本的详细对比,可以参照官网:

https://www.jetbrains.com/idea/features/editions_comparison_matrix.html

6. 官网提供的详细使用文档:

https://www.jetbrains.com/help/idea/meet-intellij-idea.html

安装:

idea开发yarn idea开发工具简介_官网_04

idea开发yarn idea开发工具简介_官网_05

idea开发yarn idea开发工具简介_idea开发yarn_06

确认 32 位版还是 64 位版

确认是否与.java、.groovy、.kt 格式文件进行关联,这里也可以选择不关联。

idea开发yarn idea开发工具简介_官网_07

idea开发yarn idea开发工具简介_官网_08

idea开发yarn idea开发工具简介_官网_09

从安装上来看,IntelliJ IDEA 对硬件的要求似乎不是很高。可是实际在开发中其实并不是这样的,因为 IntelliJ IDEA 执行时会有大量的缓存、索引文件,所以如果你正在使用 Eclipse / MyEclipse,想通过 IntelliJ IDEA 来解决计算机的卡、慢等问题,这基本上是不可能的,本质上你应该对自己的硬件设备进行升级。

查看安装目录结构:

idea开发yarn idea开发工具简介_git_10

bin:容器,执行文件和启动参数等

help:快捷键文档和其他帮助文档

jre64:64 位java 运行环境

lib:idea 依赖的类库

license:各个插件许可

plugin:插件

其中:bin 目录下:

idea开发yarn idea开发工具简介_git_11

这里以我的电脑系统(64 位 windows7,16G 内存)为例,说明一下如何调整 VM 配

置文件:

1. 大家根据电脑系统的位数,选择 32 位的 VM 配置文件或者 64 位的 VM 配置文件

2. 32 位操作系统内存不会超过 4G,所以没有多大空间可以调整,建议不用调整了

3. 64 位操作系统中 8G 内存以下的机子或是静态页面开发者是无需修改的。

4. 64 位操作系统且内存大于 8G 的,如果你是开发大型项目、Java 项目或是 Android 项目,建议进行修改,常修改的就是下面 3 个参数:

idea开发yarn idea开发工具简介_官网_12

1. -Xms128m,16 G 内存的机器可尝试设置为 -Xms512m

(设置初始的内存数,增加该值可以提高 Java 程序的启动速度。)

  1. -Xmx750m,16 G 内存的机器可尝试设置为 -Xmx1500m

(设置最大内存数,提高该值,可以减少内存 Garage 收集的频率,提高程序性能)

3.-XX:ReservedCodeCacheSize=240m,16G 内存的机器可尝试设置为

-XX:ReservedCodeCacheSize=500m

(保留代码占用的内存容量)

 

查看设置目录结构:

当我们第一次启动idea的时候,idea会自动的在我们的系统盘下的当前用户下生成一些设置和缓存目录。

idea开发yarn idea开发工具简介_git_13

这就是 IDEA 的各种配置的保存目录。这个设置目录有一个特性,就是你删除掉整个目录之后,重新启动 IntelliJ IDEA 会再自动帮你生成一个全新的默认配置,所以很多时候如果你把 IntelliJ IDEA 配置改坏了,没关系,删掉该目录,一切都会还原到默认。

3 IDEA的基本设置【Strings】

IntelliJ IDEA 有很多人性化的设置我们必须单独拿出来讲解,也因为这些人性化的设置让那些 IntelliJ IDEA 死忠粉更加死心塌地使用它和分享它。

进入设置界面:

idea开发yarn idea开发工具简介_版本控制_14

目录结构如下:

idea开发yarn idea开发工具简介_官网_15

1.Appearance & Behavior外观和行为设置

1.1 设置主题

idea开发yarn idea开发工具简介_idea开发yarn_16

这里默认提供了三套主题:IntelliJ,Darcula,Windows。这里可以根据自己的喜好进行选择。

1.2 设置窗体及菜单的字体及字体大小

idea开发yarn idea开发工具简介_idea开发yarn_17

1.3 补充:设置编辑区主题 (可忽略)

IDEA 默认提供了两个编辑区主题,可以通过如下的方式进行选择。

idea开发yarn idea开发工具简介_idea开发yarn_18

如果想要更多的主题效果的话,可以到如下的网站下载:http://www.riaway.com/,在这里我们给大家提供了一些已经下载好的主题在课件的主题文件夹中。

下载以后,导入主题:

(方式一)

file –> import setttings –> 选中下载的主题 jar 文件 –> 一路确认 –> 重启。

重启以后,新主题会自动启用。如果没有启用,可以如下方式选择:

idea开发yarn idea开发工具简介_官网_19

下载以后,导入主题:

(方式二)

idea开发yarn idea开发工具简介_官网_20

1.4 补充:通过插件(plugins)更换主题

喜欢黑色主题的话,还可以下载插件:Material Theme UI

idea开发yarn idea开发工具简介_官网_21

点击按钮以后,在联网环境下搜索如下的插件-安装-重启 IDEA 即可:

idea开发yarn idea开发工具简介_版本控制_22

如果对安装的主题插件不满意,还可以找到此插件,进行卸载 – 重启 IDEA 即可。

2. Editor - General

2.1 设置鼠标滚轮修改字体大小(可忽略)

idea开发yarn idea开发工具简介_版本控制_23

我们可以勾选此设置后,增加 Ctrl + 鼠标滚轮 快捷键来控制代码字体大小显示。

2.2 设置鼠标悬浮提示

idea开发yarn idea开发工具简介_git_24

2.3 设置自动导包功能

idea开发yarn idea开发工具简介_官网_25

Add unambiguous imports on the fly:自动导入不明确的结构

Optimize imports on the fly:自动帮我们优化导入的包

2.4 设置显示行号和方法间的分隔符

idea开发yarn idea开发工具简介_版本控制_26

如上图红圈所示,可以勾选 Show line numbers:显示行数。我建议一般这个要勾选上。

如上图红圈所示,可以勾选 Show method separators: 显示方法分隔线。这种线有助于我们区分开方法,所以建议勾选上。

2.5 忽略大小写提示

idea开发yarn idea开发工具简介_官网_27

IntelliJ IDEA 的代码提示和补充功能有一个特性:区分大小写。如上图标注所示,默认就是 First letter 区分大小写的。区分大小写的情况是这样的:比如我们在 Java 代码文件中输入 stringBuffer,IntelliJ IDEA 默认是不会帮我们提示或是代码补充的,但是如果我们输入StringBuffer 就可以进行代码提示和补充。如果想不区分大小写的话,改为 None 选项即可。

2.6 设置取消单行显示 tabs 的操作

idea开发yarn idea开发工具简介_版本控制_28

如上图标注所示,在打开很多文件的时候,IntelliJ IDEA 默认是把所有打开的文件名 Tab 单行显示的。但是我个人现在的习惯是使用多行,多行效率比单行高,因为单行会隐藏超过界面部分 Tab,这样找文件不方便。

3. Editor – Font

3.1 设置默认的字体、字体大小、字体行间距

idea开发yarn idea开发工具简介_idea开发yarn_29

4. Editor – Color Scheme

4.1 修改当前主题的字体、字体大小、字体行间距(可忽略)

如果当前主题不希望使用默认字体、字体大小、字体行间距,还可以单独设置:

idea开发yarn idea开发工具简介_官网_30

4.2 修改当前主题的控制台输出的字体及字体大小(可忽略)

idea开发yarn idea开发工具简介_官网_31

4.3 修改代码中注释的字体颜色

idea开发yarn idea开发工具简介_idea开发yarn_32

Doc Comment – Text:修改文档注释的字体颜色

Block comment:修改多行注释的字体颜色

Line comment:修改当行注释的字体颜色

5. Editor – Code Style

5.1 设置超过指定 import 个数,改为* (可忽略)

idea开发yarn idea开发工具简介_官网_33

6. Editor – File and Code Templates

6.1 修改类头的文档注释信息

idea开发yarn idea开发工具简介_git_34

7. Editor – File Encodings

7.1 设置项目文件编码

idea开发yarn idea开发工具简介_版本控制_35

说明:Transparent native-to-ascii conversion 主要用于转换 ascii,一般都要勾选,不然 Properties 文件中的注释显示的都不会是中文.

7.2 设置当前源文件的编码(可忽略)

idea开发yarn idea开发工具简介_官网_36

idea开发yarn idea开发工具简介_idea开发yarn_37

对单独文件的编码修改还可以点击右下角的编码设置区。如果代码内容中包含中

文,则会弹出如上的操作选择。其中:

①Reload 表示使用新编码重新加载,新编码不会保存到文件中,重新打开此文件,旧编码是什么依旧还是什么。

②Convert 表示使用新编码进行转换,新编码会保存到文件中,重新打开此文件,新编码是什么则是什么。

③含有中文的代码文件,Convert 之后可能会使中文变成乱码,所以在转换成请做好备份,不然可能出现转换过程变成乱码,无法还原。

8. Build,Execution,Deployment

8.1 设置自动编译

idea开发yarn idea开发工具简介_版本控制_38

构建就是以我们编写的 java 代码、框架配置文件、国际化等其他资源文件、JSP 页面和图片等资源作为“原材料”,去“生产”出一个可以运行的项目的过程。

Intellij Idea 默认状态为不自动编译状态,Eclipse 默认为自动编译:很多朋友都是从 Eclipse 转到 Intellij 的,这常常导致我们在需要操作 class 文件时忘记对修改后的 java 类文件进行重新编译,从而对旧文件进行了操作.

9.设置代码水平或垂直显示

idea开发yarn idea开发工具简介_版本控制_39

4 通过IDEA创建模块

1. 在 Eclipse 中我们有 Workspace(工作空间)和 Project(工程)的概念,在 IDEA中只有 Project(工程)和 Module(模块)的概念。

这里的对应关系为:

IDEA 官网说明:

An Eclipse workspace is similar to a project in IntelliJ IDEA

An Eclipse project maps to a module in IntelliJ IDEA

翻译:

Eclipse 中 workspace 相当于 IDEA 中的 Project

Eclipse 中 Project 相当于 IDEA 中的 Module

这个地方刚开始用的时候会很容易理不清它们之间的关系。

2. 从 Eclipse 转过来的人总是下意识地要在同一个窗口管理 n 个项目,这在IntelliJ IDEA 是无法做到的。IntelliJ IDEA 提供的解决方案是打开多个项目实例,即打开多个项目窗口。即:一个 Project 打开一个 Window 窗口。

3. 在 IntelliJ IDEA 中 Project 是最顶级的级别,次级别是 Module。一个 Project可以有多个 Module。目前主流的大型项目都是分布式部署的,结构都是类似这种多 Module 结构。

idea开发yarn idea开发工具简介_idea开发yarn_40

这类项目一般是这样划分的,比如:core Module、web Module、plugin Module、solr Module 等等,模块之间彼此可以相互依赖。通过这些 Module 的命名也可以看出,他们之间都是处于同一个项目业务下的模块,彼此之间是有不可分割的业务关系的。

举例:

idea开发yarn idea开发工具简介_官网_41

4. 相比较于多 Module 项目,小项目就无需搞得这么复杂。只有一个 Module 的结构 IntelliJ IDEA 也是支持的,并且 IntelliJ IDEA 创建项目的时候,默认就是单Module 的结构的。

下面,我们演示如何创建 Module:

idea开发yarn idea开发工具简介_git_42

idea开发yarn idea开发工具简介_官网_43

接着选择 Next:

idea开发yarn idea开发工具简介_官网_44

创建好模块之后,我们可以在 Module 的 src 里写代码,此时 Project 工程下的 src 就没什么用了,可以删掉。

6.如何删除模块

idea开发yarn idea开发工具简介_官网_45

idea开发yarn idea开发工具简介_idea开发yarn_46

idea开发yarn idea开发工具简介_idea开发yarn_47

idea开发yarn idea开发工具简介_官网_48

此时的删除,会从硬盘上将此 module 删除掉。

7.查看项目配置

idea开发yarn idea开发工具简介_官网_49

进入项目结构:

idea开发yarn idea开发工具简介_idea开发yarn_50

5 基于IDEA的版本控制(Version Control)【Git】

不管是个人开发还是团队开发,版本控制都会被使用。而 IDEA 也很好的集成了版本控制的相关结构。

idea开发yarn idea开发工具简介_版本控制_51

idea开发yarn idea开发工具简介_官网_52

intelliJ IDEA 对版本控制的支持是以插件化的方式来实现的。旗舰版默认支持目前主流的版本控制软件:CVS、Subversion(SVN)、Git、Mercurial、Perforce、TFS。又因为目前太多人使用 Github 进行协同或是项目版本管理,所以 IntelliJ IDEA 同时自带了 Github 插件,方便 Checkout 和管理你的Github 项目

很多人认为 IntelliJ IDEA 自带了 SVN 或是 Git 等版本控制工具,认为只要安装了 IntelliJ IDEA 就可以完全使用版本控制应有的功能。这完全是一种错误的解读,IntelliJ IDEA 是自带对这些版本控制工具的插件支持,但是该装什么版本控制客户端还是要照样装的。

在实际开发中,发现在 IDEA 中使用 SVN 的经历不算愉快,经常会遇到很多问题,比如紧急情况下 IDEA 无法更新、提交等。所以这里,我们学习下在 IDEA中使用 Git

1. 下载 Git 的客户端

Git 的 msysGit 官网下载:https://git-scm.com/

Git 客户端 TortoiseGit 官网下载:http://download.tortoisegit.org/tgit/

idea开发yarn idea开发工具简介_版本控制_53

 

idea开发yarn idea开发工具简介_版本控制_54

idea开发yarn idea开发工具简介_版本控制_55

  1. 安装 Git 的客户端

idea开发yarn idea开发工具简介_git_56

idea开发yarn idea开发工具简介_版本控制_57

idea开发yarn idea开发工具简介_版本控制_58

idea开发yarn idea开发工具简介_idea开发yarn_59

idea开发yarn idea开发工具简介_官网_60

 

在“Adjusting your PATH environment”选项中,默认选项是“Use Git from the

Windows Command Prompt”,这样在 Windows 的命令行 cmd 中也可以运行 git 命令了,

点击“Next

 

idea开发yarn idea开发工具简介_idea开发yarn_61

配置行结束标记,保持默认“Checkout Windows-style, commit Unix-style line

endings”.

idea开发yarn idea开发工具简介_idea开发yarn_62

 

在终端模拟器选择页面,默认即可,配置后 Git Gash 的终端比较易用。然后点击

“Next”按钮

idea开发yarn idea开发工具简介_idea开发yarn_63

idea开发yarn idea开发工具简介_git_64

最后配置 Git 额外选择默认即可。

idea开发yarn idea开发工具简介_版本控制_65

安装成功

安装 Git 完成之后,会在桌面创建 Git Bash 快捷方式,或在开始菜单打开 Git Bash。

 

idea开发yarn idea开发工具简介_idea开发yarn_66

桌面 Git Bash 快捷方式

idea开发yarn idea开发工具简介_idea开发yarn_67

开始菜单打开 Git Bash。

 

idea开发yarn idea开发工具简介_官网_68

 

  1. 关联 git.exe

  打开setting设置git客户端的安装目录

idea开发yarn idea开发工具简介_git_69

 

  1. 关联 gitee上的账户,并测试连接
  1. 注册一个gitee账号。

idea开发yarn idea开发工具简介_idea开发yarn_70

登陆

4.2在 gitee上创建账户下的一个新的仓库作为测试:

4.3关联 gitee上的账户,并测试连接

4.4从当前登录的 gitee账号上直接 Checkout 项目

4.5.本地代码分享到 gitee

4.6.Git 的常用操作

idea开发yarn idea开发工具简介_版本控制_71

clone:拷贝远程仓库

commit:本地提交

push:远程提交

pull:更新到本地

7.没有使用 Git 时本地历史记录的查看

 

idea开发yarn idea开发工具简介_git_72

 

idea开发yarn idea开发工具简介_版本控制_73

即使我们项目没有使用版本控制功能,IntelliJ IDEA 也给我们提供了本地文件历史记录。

6 IDEA中创建聚合项目

idea开发yarn idea开发工具简介_idea开发yarn_74

idea开发yarn idea开发工具简介_idea开发yarn_75

idea开发yarn idea开发工具简介_版本控制_76

idea开发yarn idea开发工具简介_idea开发yarn_77

创建完后,删除生成的src目录

idea开发yarn idea开发工具简介_git_78

修改打包方式为pom

wangxing-parent:pom.xml
<groupId>com.wangxing</groupId>
 <artifactId>wangxing-parent</artifactId>
<packaging>pom</packaging>
 <version>1.0-SNAPSHOT</version>注意:maven中有3种工程:
pom工程:用在父级或聚合工程中,用来做jar包的版本控制。
war工程:会打包成war,发布在服务器上。如网站或服务。
jar工程:打包成jar用作jar包使用。
集中定义依赖jar版本号
<!-- 集中定义依赖jar包的版本号 -->
 <properties>
     <junit.version>4.12</junit.version>
     <spring.version>4.1.3.RELEASE</spring.version>
     <mybatis.version>3.2.8</mybatis.version>
     <mybatis.spring.version>1.2.2</mybatis.spring.version>
     <mybatis.paginator.version>1.2.15</mybatis.paginator.version>
     <mysql.version>5.1.32</mysql.version>
     <slf4j.version>1.6.6</slf4j.version>
     <jackson.version>2.4.2</jackson.version>
     <druid.version>1.0.9</druid.version>
     <httpclient.version>4.3.5</httpclient.version>
     <jstl.version>1.2</jstl.version>
     <servlet-api.version>2.5</servlet-api.version>
     <jsp-api.version>2.0</jsp-api.version>
     <joda-time.version>2.5</joda-time.version>
     <commons-lang3.version>3.3.2</commons-lang3.version>
     <commons-io.version>1.3.2</commons-io.version>
     <commons-net.version>3.3</commons-net.version>
     <pagehelper.version>3.4.2</pagehelper.version>
     <jsqlparser.version>0.9.1</jsqlparser.version>
     <commons-fileupload.version>1.3.1</commons-fileupload.version>
     <jedis.version>2.7.2</jedis.version>
     <solrj.version>4.10.3</solrj.version>
     <freemarker.version>2.3.23</freemarker.version>
     <quartz.version>2.2.2</quartz.version>
 </properties>添加依赖[不需要直接编写版本号]
<!-- 添加项目所需的依赖包 -->
 <dependencyManagement>
     <dependencies>
         <!-- 时间操作组件 -->
         <dependency>
             <groupId>joda-time</groupId>
             <artifactId>joda-time</artifactId>
             <version>${joda-time.version}</version>
         </dependency>
         <!-- Apache工具组件 -->
         <dependency>
             <groupId>org.apache.commons</groupId>
             <artifactId>commons-lang3</artifactId>
             <version>${commons-lang3.version}</version>
         </dependency>
         <dependency>
             <groupId>org.apache.commons</groupId>
             <artifactId>commons-io</artifactId>
             <version>${commons-io.version}</version>
         </dependency>
         <dependency>
             <groupId>commons-net</groupId>
             <artifactId>commons-net</artifactId>
             <version>${commons-net.version}</version>
         </dependency>
         <!-- Jackson Json处理工具包 -->
         <dependency>
             <groupId>com.fasterxml.jackson.core</groupId>
             <artifactId>jackson-databind</artifactId>
             <version>${jackson.version}</version>
         </dependency>
         <!-- httpclient -->
         <dependency>
             <groupId>org.apache.httpcomponents</groupId>
             <artifactId>httpclient</artifactId>
             <version>${httpclient.version}</version>
         </dependency>
         <!-- 单元测试 -->
         <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
             <version>${junit.version}</version>
             <scope>test</scope>
         </dependency>
         <!-- 日志处理 -->
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-log4j12</artifactId>
             <version>${slf4j.version}</version>
         </dependency>
         <!-- Mybatis -->
         <dependency>
             <groupId>org.mybatis</groupId>
             <artifactId>mybatis</artifactId>
             <version>${mybatis.version}</version>
         </dependency>
         <dependency>
             <groupId>org.mybatis</groupId>
             <artifactId>mybatis-spring</artifactId>
             <version>${mybatis.spring.version}</version>
         </dependency>
         <dependency>
             <groupId>com.github.miemiedev</groupId>
             <artifactId>mybatis-paginator</artifactId>
             <version>${mybatis.paginator.version}</version>
         </dependency>
         <dependency>
             <groupId>com.github.pagehelper</groupId>
             <artifactId>pagehelper</artifactId>
             <version>${pagehelper.version}</version>
         </dependency>
         <!-- MySql -->
         <dependency>
             <groupId>mysql</groupId>
             <artifactId>mysql-connector-java</artifactId>
             <version>${mysql.version}</version>
         </dependency>
         <!-- 连接池 -->
         <dependency>
             <groupId>com.alibaba</groupId>
             <artifactId>druid</artifactId>
             <version>${druid.version}</version>
         </dependency>
         <!-- Spring -->
         <dependency>
             <groupId>org.springframework</groupId>
             <artifactId>spring-context</artifactId>
             <version>${spring.version}</version>
         </dependency>
         <dependency>
             <groupId>org.springframework</groupId>
             <artifactId>spring-beans</artifactId>
             <version>${spring.version}</version>
         </dependency>
         <dependency>
             <groupId>org.springframework</groupId>
             <artifactId>spring-webmvc</artifactId>
             <version>${spring.version}</version>
         </dependency>
         <dependency>
             <groupId>org.springframework</groupId>
             <artifactId>spring-jdbc</artifactId>
             <version>${spring.version}</version>
         </dependency>
         <dependency>
             <groupId>org.springframework</groupId>
             <artifactId>spring-aspects</artifactId>
             <version>${spring.version}</version>
         </dependency>
         <dependency>
             <groupId>org.springframework</groupId>
             <artifactId>spring-context-support</artifactId>
             <version>${spring.version}</version>
         </dependency>
         <!-- JSP相关 -->
         <dependency>
             <groupId>jstl</groupId>
             <artifactId>jstl</artifactId>
             <version>${jstl.version}</version>
         </dependency>
         <dependency>
             <groupId>javax.servlet</groupId>
             <artifactId>servlet-api</artifactId>
             <version>${servlet-api.version}</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>javax.servlet</groupId>
             <artifactId>jsp-api</artifactId>
             <version>${jsp-api.version}</version>
             <scope>provided</scope>
         </dependency>
         <!-- 文件上传组件 -->
         <dependency>
             <groupId>commons-fileupload</groupId>
             <artifactId>commons-fileupload</artifactId>
             <version>${commons-fileupload.version}</version>
         </dependency>
         <!-- Redis客户端 -->
         <dependency>
             <groupId>redis.clients</groupId>
             <artifactId>jedis</artifactId>
             <version>${jedis.version}</version>
         </dependency>
         <!-- solr客户端 -->
         <dependency>
             <groupId>org.apache.solr</groupId>
             <artifactId>solr-solrj</artifactId>
             <version>${solrj.version}</version>
         </dependency>
         <dependency>
             <groupId>org.freemarker</groupId>
             <artifactId>freemarker</artifactId>
             <version>${freemarker.version}</version>
         </dependency>
         <!-- quartz任务调度框架 -->
         <dependency>
             <groupId>org.quartz-scheduler</groupId>
             <artifactId>quartz</artifactId>
             <version>${quartz.version}</version>
         </dependency>
     </dependencies>
 </dependencyManagement>

配置插件【省略】

创建子项目wangxing-pojo【mavne   jar】

  1. 右键wangxing-parent---new---module

idea开发yarn idea开发工具简介_git_79

idea开发yarn idea开发工具简介_git_80

idea开发yarn idea开发工具简介_idea开发yarn_81

 

idea开发yarn idea开发工具简介_git_82

 

创建子项目wangxing-web【mavne   war】

1.右键wangxing-parent---new---module

idea开发yarn idea开发工具简介_官网_83

idea开发yarn idea开发工具简介_git_84

idea开发yarn idea开发工具简介_git_85

idea开发yarn idea开发工具简介_版本控制_86

创建好项目以后配置spring-webmvc的依赖包【没有版本号】

<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
 <dependency>
     <groupId>org.springframework</groupId>
     <artifactId>spring-webmvc</artifactId>
 </dependency>配置tomcat7的服务器插件
<!-- 配置tomcat7的服务器插件 -->
 <plugin>
     <groupId>org.apache.tomcat.maven</groupId>
     <artifactId>tomcat7-maven-plugin</artifactId>
     <configuration>
         <!-- 指定端口 -->
         <port>9090</port>
         <!-- 请求路径 -->
         <path>/web</path>
     </configuration>
 </plugin>完善子项目的项目结构
 
在wangxingweb子项目中的web.xml文件中配置字符过滤器和中央控制器
 
在wangxingweb子项目中的resources中创建springmvc的配置文件
<?xml version="1.0" encoding="UTF-8"?>
 <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:context="http://www.springframework.org/schema/context"
        xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd        http://www.springframework.org/schema/context        http://www.springframework.org/schema/context/spring-context.xsd">
     <!--开启注解功能-->
     <context:annotation-config></context:annotation-config>
     <!-- 配置自动扫描service包 -->
     <context:component-scan base-package="com.wanxing.web.controller"></context:component-scan>
 </beans> 
创建控制器
package com.wanxing.web.controller;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.servlet.ModelAndView;

 @Controller
 public class WangXingController {
     @RequestMapping("/testWeb.do")
    public ModelAndView testWeb(){
         System.out.println("WangXingController----");
        ModelAndView  modelAndView=new ModelAndView();
        modelAndView.setViewName("index.jsp");
        return  modelAndView;
    }
 }

配置服务器

Run-Edit Configurations

idea开发yarn idea开发工具简介_版本控制_87

idea开发yarn idea开发工具简介_idea开发yarn_88

Manven Projects视图中去安装部署项目

idea开发yarn idea开发工具简介_idea开发yarn_89

idea开发yarn idea开发工具简介_idea开发yarn_90

运行

idea开发yarn idea开发工具简介_版本控制_91

idea开发yarn idea开发工具简介_官网_92

http://localhost:9090/web/testWeb.do

idea开发yarn idea开发工具简介_git_93