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 的主要优势:(相较于 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 有很大区别。
这里提供了不同操作系统下的两个不同版本的安装文件。
两个不同版本的详细对比,可以参照官网:
https://www.jetbrains.com/idea/features/editions_comparison_matrix.html
6. 官网提供的详细使用文档:
https://www.jetbrains.com/help/idea/meet-intellij-idea.html
安装:
确认 32 位版还是 64 位版
确认是否与.java、.groovy、.kt 格式文件进行关联,这里也可以选择不关联。
从安装上来看,IntelliJ IDEA 对硬件的要求似乎不是很高。可是实际在开发中其实并不是这样的,因为 IntelliJ IDEA 执行时会有大量的缓存、索引文件,所以如果你正在使用 Eclipse / MyEclipse,想通过 IntelliJ IDEA 来解决计算机的卡、慢等问题,这基本上是不可能的,本质上你应该对自己的硬件设备进行升级。
查看安装目录结构:
bin:容器,执行文件和启动参数等
help:快捷键文档和其他帮助文档
jre64:64 位java 运行环境
lib:idea 依赖的类库
license:各个插件许可
plugin:插件
其中:bin 目录下:
这里以我的电脑系统(64 位 windows7,16G 内存)为例,说明一下如何调整 VM 配
置文件:
1. 大家根据电脑系统的位数,选择 32 位的 VM 配置文件或者 64 位的 VM 配置文件
2. 32 位操作系统内存不会超过 4G,所以没有多大空间可以调整,建议不用调整了
3. 64 位操作系统中 8G 内存以下的机子或是静态页面开发者是无需修改的。
4. 64 位操作系统且内存大于 8G 的,如果你是开发大型项目、Java 项目或是 Android 项目,建议进行修改,常修改的就是下面 3 个参数:
1. -Xms128m,16 G 内存的机器可尝试设置为 -Xms512m
(设置初始的内存数,增加该值可以提高 Java 程序的启动速度。)
(设置最大内存数,提高该值,可以减少内存 Garage 收集的频率,提高程序性能)
3.-XX:ReservedCodeCacheSize=240m,16G 内存的机器可尝试设置为
-XX:ReservedCodeCacheSize=500m
(保留代码占用的内存容量)
查看设置目录结构:
当我们第一次启动idea的时候,idea会自动的在我们的系统盘下的当前用户下生成一些设置和缓存目录。
这就是 IDEA 的各种配置的保存目录。这个设置目录有一个特性,就是你删除掉整个目录之后,重新启动 IntelliJ IDEA 会再自动帮你生成一个全新的默认配置,所以很多时候如果你把 IntelliJ IDEA 配置改坏了,没关系,删掉该目录,一切都会还原到默认。
3 IDEA的基本设置【Strings】
IntelliJ IDEA 有很多人性化的设置我们必须单独拿出来讲解,也因为这些人性化的设置让那些 IntelliJ IDEA 死忠粉更加死心塌地使用它和分享它。
进入设置界面:
目录结构如下:
1.Appearance & Behavior外观和行为设置
1.1 设置主题
这里默认提供了三套主题:IntelliJ,Darcula,Windows。这里可以根据自己的喜好进行选择。
1.2 设置窗体及菜单的字体及字体大小
1.3 补充:设置编辑区主题 (可忽略)
IDEA 默认提供了两个编辑区主题,可以通过如下的方式进行选择。
如果想要更多的主题效果的话,可以到如下的网站下载:http://www.riaway.com/,在这里我们给大家提供了一些已经下载好的主题在课件的主题文件夹中。
下载以后,导入主题:
(方式一)
file –> import setttings –> 选中下载的主题 jar 文件 –> 一路确认 –> 重启。
重启以后,新主题会自动启用。如果没有启用,可以如下方式选择:
下载以后,导入主题:
(方式二)
1.4 补充:通过插件(plugins)更换主题
喜欢黑色主题的话,还可以下载插件:Material Theme UI
点击按钮以后,在联网环境下搜索如下的插件-安装-重启 IDEA 即可:
如果对安装的主题插件不满意,还可以找到此插件,进行卸载 – 重启 IDEA 即可。
2. Editor - General
2.1 设置鼠标滚轮修改字体大小(可忽略)
我们可以勾选此设置后,增加 Ctrl + 鼠标滚轮 快捷键来控制代码字体大小显示。
2.2 设置鼠标悬浮提示
2.3 设置自动导包功能
Add unambiguous imports on the fly:自动导入不明确的结构
Optimize imports on the fly:自动帮我们优化导入的包
2.4 设置显示行号和方法间的分隔符
如上图红圈所示,可以勾选 Show line numbers:显示行数。我建议一般这个要勾选上。
如上图红圈所示,可以勾选 Show method separators: 显示方法分隔线。这种线有助于我们区分开方法,所以建议勾选上。
2.5 忽略大小写提示
IntelliJ IDEA 的代码提示和补充功能有一个特性:区分大小写。如上图标注所示,默认就是 First letter 区分大小写的。区分大小写的情况是这样的:比如我们在 Java 代码文件中输入 stringBuffer,IntelliJ IDEA 默认是不会帮我们提示或是代码补充的,但是如果我们输入StringBuffer 就可以进行代码提示和补充。如果想不区分大小写的话,改为 None 选项即可。
2.6 设置取消单行显示 tabs 的操作
如上图标注所示,在打开很多文件的时候,IntelliJ IDEA 默认是把所有打开的文件名 Tab 单行显示的。但是我个人现在的习惯是使用多行,多行效率比单行高,因为单行会隐藏超过界面部分 Tab,这样找文件不方便。
3. Editor – Font
3.1 设置默认的字体、字体大小、字体行间距
4. Editor – Color Scheme
4.1 修改当前主题的字体、字体大小、字体行间距(可忽略)
如果当前主题不希望使用默认字体、字体大小、字体行间距,还可以单独设置:
4.2 修改当前主题的控制台输出的字体及字体大小(可忽略)
4.3 修改代码中注释的字体颜色
Doc Comment – Text:修改文档注释的字体颜色
Block comment:修改多行注释的字体颜色
Line comment:修改当行注释的字体颜色
5. Editor – Code Style
5.1 设置超过指定 import 个数,改为* (可忽略)
6. Editor – File and Code Templates
6.1 修改类头的文档注释信息
7. Editor – File Encodings
7.1 设置项目文件编码
说明:Transparent native-to-ascii conversion 主要用于转换 ascii,一般都要勾选,不然 Properties 文件中的注释显示的都不会是中文.
7.2 设置当前源文件的编码(可忽略)
对单独文件的编码修改还可以点击右下角的编码设置区。如果代码内容中包含中
文,则会弹出如上的操作选择。其中:
①Reload 表示使用新编码重新加载,新编码不会保存到文件中,重新打开此文件,旧编码是什么依旧还是什么。
②Convert 表示使用新编码进行转换,新编码会保存到文件中,重新打开此文件,新编码是什么则是什么。
③含有中文的代码文件,Convert 之后可能会使中文变成乱码,所以在转换成请做好备份,不然可能出现转换过程变成乱码,无法还原。
8. Build,Execution,Deployment
8.1 设置自动编译
构建就是以我们编写的 java 代码、框架配置文件、国际化等其他资源文件、JSP 页面和图片等资源作为“原材料”,去“生产”出一个可以运行的项目的过程。
Intellij Idea 默认状态为不自动编译状态,Eclipse 默认为自动编译:很多朋友都是从 Eclipse 转到 Intellij 的,这常常导致我们在需要操作 class 文件时忘记对修改后的 java 类文件进行重新编译,从而对旧文件进行了操作.
9.设置代码水平或垂直显示
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 结构。
这类项目一般是这样划分的,比如:core Module、web Module、plugin Module、solr Module 等等,模块之间彼此可以相互依赖。通过这些 Module 的命名也可以看出,他们之间都是处于同一个项目业务下的模块,彼此之间是有不可分割的业务关系的。
举例:
4. 相比较于多 Module 项目,小项目就无需搞得这么复杂。只有一个 Module 的结构 IntelliJ IDEA 也是支持的,并且 IntelliJ IDEA 创建项目的时候,默认就是单Module 的结构的。
下面,我们演示如何创建 Module:
接着选择 Next:
创建好模块之后,我们可以在 Module 的 src 里写代码,此时 Project 工程下的 src 就没什么用了,可以删掉。
6.如何删除模块
此时的删除,会从硬盘上将此 module 删除掉。
7.查看项目配置
进入项目结构:
5 基于IDEA的版本控制(Version Control)【Git】
不管是个人开发还是团队开发,版本控制都会被使用。而 IDEA 也很好的集成了版本控制的相关结构。
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/
在“Adjusting your PATH environment”选项中,默认选项是“Use Git from the
Windows Command Prompt”,这样在 Windows 的命令行 cmd 中也可以运行 git 命令了,
点击“Next
配置行结束标记,保持默认“Checkout Windows-style, commit Unix-style line
endings”.
在终端模拟器选择页面,默认即可,配置后 Git Gash 的终端比较易用。然后点击
“Next”按钮
最后配置 Git 额外选择默认即可。
安装成功
安装 Git 完成之后,会在桌面创建 Git Bash 快捷方式,或在开始菜单打开 Git Bash。
桌面 Git Bash 快捷方式
开始菜单打开 Git Bash。
打开setting设置git客户端的安装目录
登陆
4.2在 gitee上创建账户下的一个新的仓库作为测试:
4.3关联 gitee上的账户,并测试连接
4.4从当前登录的 gitee账号上直接 Checkout 项目
4.5.本地代码分享到 gitee
4.6.Git 的常用操作
clone:拷贝远程仓库
commit:本地提交
push:远程提交
pull:更新到本地
7.没有使用 Git 时本地历史记录的查看
即使我们项目没有使用版本控制功能,IntelliJ IDEA 也给我们提供了本地文件历史记录。
6 IDEA中创建聚合项目
创建完后,删除生成的src目录
修改打包方式为pom
wangxing-parent:pom.xml
注意:maven中有3种工程:
pom工程:用在父级或聚合工程中,用来做jar包的版本控制。
war工程:会打包成war,发布在服务器上。如网站或服务。
jar工程:打包成jar用作jar包使用。
集中定义依赖jar版本号
添加依赖[不需要直接编写版本号]
配置插件【省略】
创建子项目wangxing-pojo【mavne jar】
创建子项目wangxing-web【mavne war】
1.右键wangxing-parent---new---module
创建好项目以后配置spring-webmvc的依赖包【没有版本号】
配置tomcat7的服务器插件
完善子项目的项目结构
在wangxingweb子项目中的web.xml文件中配置字符过滤器和中央控制器
在wangxingweb子项目中的resources中创建springmvc的配置文件
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">
创建控制器
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
Manven Projects视图中去安装部署项目
运行
http://localhost:9090/web/testWeb.do