IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)

IDEA的基本使用

  • 一、Java开发利器:IDEA的安装与使用(上)
    • 前言:
      • 【Why IDEA ?】
      • 【Why IDEA 2022.x】
    • 1.认识IntelliJ IDEA
      • 1.1 JetBrains 公司介绍
      • 1.2 IntelliJ IDEA 介绍
      • 1.3 IDEA的主要优势:(vs Eclipse)
      • 1.4 IDEA 的下载
    • 2. 卸载与安装
      • 2.1 卸载过程
      • 2.2 安装前的准备
      • 2.3 安装过程
      • 2.4 注册
      • 2.5 闪退问题
    • 3. HelloWorld的实现
      • 3.1 新建Project - Class
      • 3.2 编写代码:
      • 3.3 运行:
    • 4. JDK相关设置
      • 4.1 项目的JDK设置:
      • 4.2 out目录和编译版本:
    • 5. 详细设置
      • 5.1 如何打开详细配置界面:
      • 5.2 系统设置:
      • 5.3 设置整体主题:
      • 5.4 设置编辑器主题样式:
      • 5.5 显示行号与方法分隔符
      • 5.6 代码智能提示功能
      • 5.7 自动导包配置
      • 5.8 设置项目文件编码(一定要改)
      • 5.9 设置控制台的字符编码
      • 5.10 修改类头的文档注释信息
      • 5.11 设置自动编译
      • 5.12 设置为省电模式 (可忽略)
      • 5.13 取消双击shift搜索
      • 5.14 其它设置:
    • 6. 工程与模块管理
      • 6.1 IDEA项目结构:
      • 6.2 Project和Module的概念
      • 6.3 创建Module
      • 6.4 删除模块
      • 6.5 导入老师的模块
      • 6.6 同时打开两个IDEA项目工程
      • 6.7 导入前几章非IDEA工程代码
    • 7. 代码模板的使用
      • 7.1 查看Postfix Completion模板(后缀补全):
      • 7.2 查看Live Templates模板(实时模板):
      • 7.3 常用代码模板:
      • 7.4 自定义代码模板(了解)
        • 7.4.1 自定义后缀补全模板:
        • 7.4.2 自定义Live Templates:
  • 二、Java开发利器:IDEA的安装与使用(下)
    • 1. 快捷键的使用
      • 1.1 常用快捷键:
        • (1)第1组:通用型
        • (2)第2组:提高编写速度(上)
        • (3)第3组:提高编写速度(下)
        • (4)第4组:类结构、查找和查看源码
        • (5)第5组:查找、替换与关闭
        • (6)第6组:调整格式
        • (7) Debug快捷键
      • 8.2 查看快捷键:
      • 1.3 自定义快捷键:
      • 8.4 使用其它平台快捷键:
    • 2 . IDEA断点调试(Debug)
      • 2.1 为什么需要Debug:
      • 2.2 Debug的步骤:
        • (1)添加断点
        • (2)启动调试
        • (3)单步调试工具介绍:
      • 2.3 多种Debug情况介绍:
        • (1) 行断点:
        • (2)方法断点:
        • (3)字段断点:
        • (4) 条件断点:
        • (5)异常断点:
        • (6)线程调试:
        • (7)强制结束:
      • 2.4 自定义调试数据视图:
      • 2.5 常见问题:
    • 3.创建不同类型的工程
      • 3.1 创建Java工程:
      • 3.2 创建Java Web工程:
        • 3.2.1 IDEA中配置Tomcat:
        • 3.2.2 创建Web工程:
        • 3.2.3 配置web工程并运行:
        • 3.2.4 乱码的解决:
      • 3.3 创建Maven Java工程:
        • 3.3.1 Maven的介绍:
        • 3.3.2 Maven的配置:
        • 3.3.3 Maven Java工程的创建:
        • 3.3.4 编写代码及测试:
      • 3.4 创建Maven Web工程:
        • 3.4.1 创建Maven的Web工程步骤:
        • 3.4.2 开发jsp依赖jar包:
    • 4.关联数据库
      • 4.1 关联方式:
      • 4.2 常用操作:
    • 5. IDEA常用插件
      • 推荐1:Alibaba Java Coding Guidelines
      • 推荐2:jclasslib bytecode viewer
      • 推荐3:Translation
      • 推荐4:GenerateAllSetter
      • 插件5:Rainbow Brackets
      • 推荐6:CodeGlance Pro
      • 推荐7:Statistic
      • 推荐8:Presentation Assistant
      • 推荐9:Key Promoter X
      • 推荐10:JavaDoc
      • 推荐11: LeetCode Editor
      • 推荐12:GsonFormatPlus
      • 插件13:Material Theme UI

一、Java开发利器:IDEA的安装与使用(上)

  • 讲师:尚硅谷-宋红康(江湖人称:康师傅)
  • 官网:尚硅谷

前言:

【Why IDEA ?】

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第1张图片

【注】JetBrains官方说明:

  • 尽管我们采取了多种措施确保受访者的代表性,但结果可能会略微偏向 JetBrains 产品的用户,因
    为这些用户更有可能参加调查。

此外,2022年,某美国软件开发商在对近千名专业的Java开发者调研后,发布了《2022年Java开发者生
产力报告》。报告提到:JetBrains 的 IntelliJ IDEA是最受欢迎的 Java IDE,占 48% ,其次是 Eclipse,占24%,Visual Studio Code 占 18%。


【Why IDEA 2022.x】

在Java 17正式发布之前,Java开发框架Spring率先在官博宣布,Spring Framework 6和Spring Boot 3计划
在2022年第四季度实现总体可用性的高端基线:

  • Java 17+(来自 Spring Framework 5.3.x 线中的 Java 8-17)
  • Jakarta EE 9+(来自Spring框架5.3.x 线中的 Java EE 7-8)

Spring 官方说明: https://spring.io/blog/2022/01/20/spring-boot-3-0-0-m1-is-now-available
IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第2张图片

意味着:springboot3.0 是需要用java17和spring6.0为基础建设。如果从企业选型最新springboot3.0
作为架构来说,它搭配jdk17肯定是标配了。


本着" 工欲善其事必先利其器 "的精神,本套课程从IDEA的介绍、安装、设置入手,讲解IDEA中项目的创建、快捷键与模板的使用、断点调试、常用插件等。

1.认识IntelliJ IDEA

1.1 JetBrains 公司介绍

IDEA,是 JetBrains公司的产品,该公司成立于2000年,总部位于捷克的布
拉格,致力于为开发者打造最高效智能的开发工具。
IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第3张图片
公司旗下还有其它产品,比如:

  • WebStorm:用于开发 JavaScript、HTML5、CSS3 等前端技术
  • PyCharm:用于开发 python
  • PhpStorm:用于开发 PHP
  • RubyMine:用于开发 Ruby/Rails
  • AppCode:用于开发 Objective - C/Swift
  • CLion:用于开发 C/C++
  • DataGrip:用于开发数据库和 SQL
  • Rider:用于开发.NET
  • GoLand:用于开发 Go

用于开发 Android的Android Studio,也是Google 基于 IDEA 社区版进行迭代的。
IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第4张图片

1.2 IntelliJ IDEA 介绍

IDEA,全称 IntelliJ IDEA ,是 Java 语言的集成开发环境,目前已经(基本)代替了Eclipse的使
用。IDEA 在业界被公认为是最好的 Java 开发工具(之一),因其 功能强悍设置人性化 ,而深受
Java、大数据、移动端程序员的喜爱。尤其在智能代码助手、代码自动提示、重构、J2EE支持、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 thebox.

1.3 IDEA的主要优势:(vs Eclipse)

(1)功能强大

  • 强大的整合能力。比如:Git、Maven、Spring等;
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第5张图片

  • 开箱即用的体验(集成版本控制系统、多语言支持的框架随时可用,无需额外安装插件)

(2)符合人体工程学

  • 高度智能(快速的智能代码补全、实时代码分析、可靠的重构工具):
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第6张图片

  • 提示功能的快速、便捷、范围广
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第7张图片

  • 好用的快捷键和代码模板;

  • 精准搜索;

1.4 IDEA 的下载

  • 下载网址
  • IDEA 分为两个版本: 旗舰版(Ultimate)社区版(Community)
  • IDEA的大版本每年迭代一次,大版本下的小版本(如:2022.x)迭代时间不固定,一般每年3个小版本。
    在这里插入图片描述
    两个版本的对比
    官网提供的详细使用文档

2. 卸载与安装

2.1 卸载过程

  • 这里以卸载2022.1.2版本为例说明。在【控制面板】找到【卸载程序】
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第8张图片
  • 右键点击或左键双击IntelliJ IDEA 2022.1.2进行卸载:
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第9张图片
  • 如果需要保留下述数据,就不要打√。如果想彻底删除IDEA所有数据,那就打上√
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第10张图片
  • 软件卸载完以后,还需要删除其它几个位置的残留:
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第11张图片
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第12张图片

2.2 安装前的准备

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第13张图片
IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第14张图片

  • 64 位 Microsoft Windows 11、10、8
  • 最低 2 GB 可用 RAM,推荐 8 GB 系统总 RAM
  • 2.5 GB 硬盘空间,推荐 SSD
  • 最低屏幕分辨率 1024x768

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

2.3 安装过程

(1)下载完安装包,双击直接安装;
(2)欢迎安装
IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第15张图片

(3)是否删除电脑上低版本的IDEA(如果有,可以选择忽略)

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第16张图片

  • 如果电脑上有低版本的IDEA,可以选择删除或保留。
  • 这里没有卸载旧版本,如果需要卸载,记得勾选下面的保留旧的设置和配置。

(4)选择安装目录

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第17张图片

  • 选择安装目录,目录中要避免中文和空格。

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第18张图片

(5)创建桌面快捷图标等

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第19张图片

  • 确认是否与.java、.groovy、.kt 格式文件进行关联。这里建议不关联。

6)在【开始】菜单新建一个文件夹(这里需要确认文件夹的名称),来管理IDEA的相关内容。
IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第20张图片
IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第21张图片

(7)完成安装

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第22张图片

  • 安装完成以后,单击桌面的IDEA图标即可打开

2.4 注册

(1)首先,需要通过用户协议:

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第23张图片

  • 是否同意发送用户数据(特性、使用的插件、硬件与软件配置等),建议选择:不发送。
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第24张图片

(2)接着,会提示我们进行注册。

  • 选择1:适用30天。在IDEA2022.1.2版本中,需要先登录,才能开启适用。
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第25张图片
  • 选择2:付费购买旗舰版
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第26张图片
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第27张图片
  • 选择3:(推荐)

进行注册(对应IDEA相应的版本号)

2.5 闪退问题

问题描述1:2022.1启动不了,双击桌面图标,没有响应。

问题描述2:进入到安装目录…\IntelliJ IDEA 2022.1.2\bin,打开CMD。输入idea,发现报错。

(1)解决办法:

  • 打开C:\Users\songhk\AppData\Roaming\JetBrains\IntelliJIdea2022.1\idea64.exe.vmoptions这个文件。
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第28张图片
  • 内容如下所示:在这里插入图片描述- 删除红框的数据以后,再登录即可正常进入。
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第29张图片

原因

  • 之前使用过的比如2021.2.2版本,pojie了。新版IEDA太智能了,把现有的启运参数也都复制过去了。又因为最新的IDEA,不兼容pojie程序-javaagent:D:\develop_tools\IDEA\IntelliJ IDEA
    2021.2.2\bin\jetbrains-agent.jar了,所以报错了,所以JVM结束了,所以没有启动画面,凉凉了。

3. HelloWorld的实现

3.1 新建Project - Class

注意:以下举例dk17来说明,别的版本只需要修改jdk即可;

(1)选择“New Project”:
IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第30张图片

(2)指名工程名、使用的JDK版本等信息。如下所示:

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第31张图片

(3)接着创建Java类:

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第32张图片
IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第33张图片

3.2 编写代码:

public class HelloWorld {
	public static void main(String[] args) {
		System.out.println("Hello,World!");
	}
}

3.3 运行:

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第34张图片IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第35张图片

4. JDK相关设置

4.1 项目的JDK设置:

File–>Project Structure…–>Platform Settings -->SDKs
IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第36张图片
IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第37张图片

  • 注1:SDKs全称是Software Development Kit ,这里一定是选择JDK的安装根目录,不是JRE的目录。
  • 注2:这里还可以从本地添加多个JDK。使用“+”即可实现。

4.2 out目录和编译版本:

File–>Project Structure…–>Project Settings -->Project
IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第38张图片

5. 详细设置

5.1 如何打开详细配置界面:

(1)显示工具栏

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第39张图片

(2)选择详细配置菜单或按钮

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第40张图片
IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第41张图片

5.2 系统设置:

(1)默认启动项目配置

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第42张图片

  • 启动IDEA时,默认自动打开上次开发的项目?还是自己选择?
  • 如果去掉Reopen last project on startup前面的对勾,每次启动IDEA就会出现如下界面:

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第43张图片

(2)取消自动更新

  • Settings–>Appearance & Behavior->System Settings -> Updates
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第44张图片
    -默认都打√了,建议检查IDE更新的√去掉,检查插件更新的√选上。

5.3 设置整体主题:

(1)选择主题

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第45张图片

(2)设置菜单和窗口字体和大小

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第46张图片

(3)设置IDEA背景图

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第47张图片

  • 选择一张合适的图片作为背景,即可。

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第48张图片

5.4 设置编辑器主题样式:

(1)编辑器主题

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第49张图片

(2)字体大小

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第50张图片

  • 更详细的字体与颜色如下:

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第51张图片

温馨提示

  • 如果选择某个font字体,中文乱码,可以在fallback font(备选字体)中选择一个支持中文的字体。

(3)注释的字体颜色

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第52张图片

  • Block comment:修改多行注释的字体颜色
  • Doc Comment –> Text:修改文档注释的字体颜色
  • Line comment:修改单行注释的字体颜色

5.5 显示行号与方法分隔符

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第53张图片

5.6 代码智能提示功能

在这里插入图片描述

IntelliJ IDEA 的代码提示和补充功能有一个特性

  • 区分大小写 。 如果想不区分大小写的话,就把这个对勾去掉。 建议去掉勾选

5.7 自动导包配置

(1)默认需要自己手动导包,Alt+Enter快捷键

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第54张图片

(2)自动导包设置

  • 动态导入明确的包:Add unambiguous imports on the fly,该设置具有全局性;
  • 优化动态导入的包:Optimize imports on the fly,该设置只对当前项目有效;
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第55张图片

5.8 设置项目文件编码(一定要改)

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第56张图片

  • 说明: Transparent native-to-ascii conversion主要用于转换ascii,显式原生内容。一般都要勾选。

5.9 设置控制台的字符编码

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第57张图片

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

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第58张图片

  • 比如
/**
* ClassName: ${NAME}
* Package: ${PACKAGE_NAME}
* Description:
* @Author 尚硅谷-宋红康
* @Create ${DATE} ${TIME}
* @Version 1.0
*/
  • 常用的预设的变量,这里直接贴出官网给的:
${PACKAGE_NAME} - the name of the target package where the new class or interface will
be created.
${PROJECT_NAME} - the name of the current project.
${FILE_NAME} - the name of the PHP file that will be created.
${NAME} - the name of the new file which you specify in the New File dialog box during
the file creation.
${USER} - the login name of the current user.
${DATE} - the current system date.
${TIME} - the current system time.
${YEAR} - the current year.
${MONTH} - the current month.
${DAY} - the current day of the month.
${HOUR} - the current hour.
${MINUTE} - the current minute.
${PRODUCT_NAME} - the name of the IDE in which the file will be created.
${MONTH_NAME_SHORT} - the first 3 letters of the month name. Example: Jan, Feb, etc.
${MONTH_NAME_FULL} - full name of a month. Example: January, February, etc.

5.11 设置自动编译

Settings-->Build,Execution,Deployment-->Compiler
IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第59张图片

5.12 设置为省电模式 (可忽略)

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第60张图片

注意

  • IntelliJ IDEA 有一种叫做省电模式的状态,开启这种模式之后 IntelliJ IDEA 会关掉代码检查代码提示 等功能。所以一般也可认为这是一种 阅读模式 ,如果你在开发过程中遇到突然代码文件不能进行检查和提示,可以来看看这里是否有开启该功能。

5.13 取消双击shift搜索

  • 因为我们按shift切换中英文输入方式,经常被按到,总是弹出搜索框,太麻烦了。可以取消它。
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第61张图片

(1)方式1:适用于IDEA 2022.1.2版本

在2022.1版本中,采用如下方式消双击shift出现搜索框:搜索double即可,勾选Disable double modifier
key shortcuts,禁用这个选项。

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第62张图片
(2)方式2:适用于IDEA 2022.1.2之前版本

  • 双击shift 或 ctrl + shift + a,打开如下搜索窗口:
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第63张图片
  • 选择registry…,找到"ide.suppress.double.click.handler",把复选框打上勾就可以取消双击shift出现搜索框了。
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第64张图片

5.14 其它设置:

  • 是否在单行显式编辑器选项卡(建议去掉勾选)
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第65张图片
  • 设置代码样式:比如,设置import显示"*"时的个数
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第66张图片

总结

  • 以上这些设置看似只是针对当前Project设置的,但是新建的其它Project也是同样适用的。

6. 工程与模块管理

6.1 IDEA项目结构:

层级关系

project(工程) - module(模块) - package(包) - class(类)

具体的

一个project中可以创建多个module
一个module中可以创建多个package
一个package中可以创建多个class

这些结构的划分,是为了方便管理功能代码。

6.2 Project和Module的概念

在 IntelliJ IDEA 中,提出了Project和Module这两个概念。
IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第67张图片

(1)在 IntelliJ IDEA 中Project是最顶级的结构单元 ,然后就是Module。目前,主流的大型项目结构基本都是多Module的结构,这类项目一般是按功能划分 的,比如:user-core-module、user-facade-module和userhessian-module等等,模块之间彼此可以 相互依赖 ,有着不可分割的业务关系。因此,对于一Project来说:

  • 当为单Module项目的时候,这个单独的Module实际上就是一个Project。
  • 当为多Module项目的时候,多个模块处于同一个Project之中,此时彼此之间具有互相依赖的关联关系。
    -当然多个模块没有建立依赖关系的话,也可以作为单独一个“小项目”运行。

6.3 创建Module

建议创建“Empty空工程”,然后创建多模块,每一个模块可以独立运行,相当于一个小项目。JavaSE阶段
不涉及到模块之间的依赖。后期再学习模块之间的依赖。

(1)步骤

  • ①选择创建模块
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第68张图片
  • ②选择模块类型:这里选择创建Java模块,给模块命名,确定存放位置
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第69张图片
  • ③ 模块声明在工程下面:
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第70张图片

6.4 删除模块

(1)移除模块

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第71张图片
IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第72张图片
(2)彻底删除模块

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第73张图片

6.5 导入老师的模块

(1)将老师的模块 teacher_chapter04 整个的复制到自己IDEA项目的路径下

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第74张图片

  • 接着打开自己IDEA的项目,会在项目目录下看到拷贝过来的module,只不过不是以模块的方式呈现。
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第75张图片
    (2)查看Project Structure,选择import module:
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第76张图片
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第77张图片
    (3)选择要导入的module
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第78张图片
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第79张图片
    (4)接着可以一路Next下去,最后选择Overwrite:
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第80张图片
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第81张图片
  • 最后点击OK即可了。

6.6 同时打开两个IDEA项目工程

(1)两个IDEA项目工程效果

  • 有些同学想要把上课练习代码和作业代码分开两个IDEA项目工程。

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第82张图片
IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第83张图片
(2)新建一个IDEA项目

  • 注意:第一次需要新建,之后直接打开项目工程即可
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第84张图片
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第85张图片
  • 最后在点击Create
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第86张图片

(3)打开两个IDEA项目

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第87张图片IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第88张图片
IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第89张图片

6.7 导入前几章非IDEA工程代码

(1)创建chapter01、chapter02、chapter03等章节的module

  • 将相应章节的源文件粘贴到module的src下。
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第90张图片
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第91张图片
  • 打开其中各个源文件,会发现有乱码。比如:
    在这里插入图片描述

(2)设置编码

  • 当前项目是UTF-8。如果原来的.java文件都是GBK的(如果原来.java文件有的是GBK,有的是UTF-8就比较麻烦了)。
  • 可以单独把这两个模块设置为GBK编码的。
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第92张图片
  • 改为GBK,确认即可。如图:
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第93张图片

7. 代码模板的使用

7.1 查看Postfix Completion模板(后缀补全):

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第94张图片

7.2 查看Live Templates模板(实时模板):

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第95张图片

7.3 常用代码模板:

(1)非空判断

  • 变量.null:if(变量 == null)
  • 变量.nn:if(变量 != null)
  • 变量.notnull:if(变量 != null)
  • ifn:if(xx == null)
  • inn:if(xx != null)

(2)遍历数组和集合

  • 数组或集合变量.fori:for循环
  • 数组或集合变量.for:增强for循环
  • 数组或集合变量.forr:反向for循环
  • 数组或集合变量.iter:增强for循环遍历数组或集合

(3)输出语句

  • sout:相当于System.out.println
  • soutm:打印当前方法的名称
  • soutp:打印当前方法的形参及形参对应的实参值
  • soutv:打印方法中声明的最近的变量的值
  • 变量.sout:打印当前变量值
  • 变量.soutv:打印当前变量名及变量值

(4)对象操作

创建对象

  • Xxx.new .var :创建Xxx类的对象,并赋给相应的变量
  • Xxx.new .field:会将方法内刚创建的Xxx对象抽取为一个属性
    强转
  • 对象.cast:将对象进行强转
  • 对象.castvar:将对象强转后,并赋给一个变量

(5)静态常量声明

  • psf:public static final
  • psfi:public static final int
  • psfs:public static final String
  • prsf:private static final

7.4 自定义代码模板(了解)

7.4.1 自定义后缀补全模板:

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第96张图片
IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第97张图片

7.4.2 自定义Live Templates:

例如:定义sop代表System.out.print();语句

  • ①在Live Templates中增加模板
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第98张图片
  • ②先定义一个模板的组,这样方便管理所有自定义的代码模板
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第99张图片
  • ③在模板组里新建模板
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第100张图片
  • ④定义模板(以输出语句为例)
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第101张图片
  • Abbreviation:模板的缩略名称
  • Description:模板的描述
  • Template text:模板的代码片段
  • 模板应用范围。比如点击Define。选择如下:应用在java代码中。
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第102张图片

其它模板1:单元测试模板

@Test
public void test$var1$(){
	$var2$
}

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第103张图片
其它模板2:创建多线程

new Thread(){
	public void run(){
		$var$
	}
};

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第104张图片
其它模板3:冒泡排序

for(int $INDEX$ = 1; $INDEX$ < $ARRAY$.length; $INDEX$++) {
	for(int $INDEX2$ = 0; $INDEX2$ < $ARRAY$.length-$INDEX$; $INDEX2$++) {
		if($ARRAY$[$INDEX2$] > $ARRAY$[$INDEX2$+1]){
			$ELEMENT_TYPE$ temp = $ARRAY$[$INDEX2$];
			$ARRAY$[$INDEX2$] = $ARRAY$[$INDEX2$+1];
			$ARRAY$[$INDEX2$+1] = temp;
		}
	}
}

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第105张图片

二、Java开发利器:IDEA的安装与使用(下)

1. 快捷键的使用

1.1 常用快捷键:

(1)第1组:通用型

快捷键 说明
ctrl + c 复制代码-copy
ctrl + v 粘贴-paste
ctrl + x 剪切-cut
ctrl + z 撤销-undo
ctrl + shift + z 反撤销-redo
ctrl + s 保存-save all
ctrl + a 全选-select all

(2)第2组:提高编写速度(上)

快捷键 说明
alt + enter 智能提示-edit
ctrl+j 提示代码模板-insert live template
ctrl+alt+t 使用xx块环绕-surround with …
alt+insert 调出生成getter/setter/构造器等结构-generate …
ctrl+alt+v 自动生成返回值变量-introduce variable …
ctrl+d 复制指定行的代码-duplicate line or selection
ctrl+y 删除指定行的代码-delete line
shift + enter 切换到下一行代码空位-start new line
ctrl +alt+ enter 切换到上一行代码空位-start new line before current
ctrl+shift+↑ 向上移动代码-move statement up
ctrl+shift+↓ 向下移动代码-move statement down
alt+shift+↑ 向上移动一行-move line up
alt+shift+↓ 向下移动一行-move line down
ctrl+p 方法的形参列表提醒-parameter info

(3)第3组:提高编写速度(下)

快捷键 说明
shift+f6 批量修改指定的变量名、方法名、类名等-rename
ctrl+alt+m 抽取代码重构方法-extract method …
ctrl+o 重写父类的方法-override methods …
ctrl+i 实现接口的方法-implements methods …
ctrl+shift+u 选中的结构的大小写的切换-toggle case
ctrl+alt+o 批量导包-optimize imports

(4)第4组:类结构、查找和查看源码

快捷键 说明
ctrl + 选中指定的结构 或 ctrl+n 如何查看源码-go to class…
ctrl+f12 显示当前类结构,支持搜索指定的方法、属性等-file structure
ctrl+alt+← 退回到前一个编辑的页面-back
ctrl+alt+→ 进入到下一个编辑的页面-forward
alt+←/→ 打开的类文件之间切换-select previous/next tab
ctrl+h 光标选中指定的类,查看继承树结构-Type Hierarchy
ctrl+q 查看方法文档-quick documentation
ctrl+alt+u 类的UML关系图-show uml popup
ctrl+g 定位某行-go to line/column
ctrl+alt+b 回溯变量或方法的来源-go to implementation(s)
ctrl+shift+ - 折叠方法实现-collapse all
ctrl+shift+ + 展开方法实现-expand all

(5)第5组:查找、替换与关闭

快捷键 说明
ctlr+f 查找指定的结构
ctrl+l 快速查找:选中的Word快速定位到下一个-find next
ctrl+r 查找与替换-replace
home 直接定位到当前行的首位-move caret to line start
end 直接定位到当前行的末位 -move caret to line end
ctrl+f7 查询当前元素在当前文件中的引用,然后按 F3 可以选择
ctrl+shift+f 全项目搜索文本-find in path …
ctrl+f4 关闭当前窗口-close

(6)第6组:调整格式

快捷键 说明
ctrl+alt+l 格式化代码-reformat code
ctrl + / 使用单行注释-comment with line comment
ctrl + shift + / 使用/取消多行注释-comment with block comment
tab 选中数行,整体往后移动-tab
shift + tab 选中数行,整体往前移动-prev tab

(7) Debug快捷键

快捷键 说明
F8 单步调试(不进入函数内部)- step over
F7 单步调试(进入函数内部)- step into
alt+shift+f7 强制单步调试(进入函数内部) - force step into
shift + F7 选择要进入的函数 - smart step into
shift + F8 跳出函数 - step out
alt + F9 运行到断点 - run to cursor
F9 继续执行,进入下一个断点或执行完程序 - resume program
Ctrl+F2 停止 - stop
Ctrl+Shift+F8 查看断点 - view breakpoints
Ctrl+F4 关闭 - close

8.2 查看快捷键:

(1)已知快捷键操作名,未知快捷键

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第106张图片

(2)已知快捷键,不知道对应的操作名

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第107张图片

1.3 自定义快捷键:

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第108张图片

8.4 使用其它平台快捷键:

注意

  • 苹果电脑或者是用惯Eclipse快捷的,可以选择其他快捷键插件。

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第109张图片

2 . IDEA断点调试(Debug)

2.1 为什么需要Debug:

编好的程序在执行过程中如果出现错误,该如何查找或定位错误呢?简单的代码直接就可以看出来,但
如果代码比较复杂,就需要借助程序调试来查找错误了。

运行编写好的程序时,可能出现的几种情况:
> 情况1:没有任何bug,程序执行正确!
====================如果出现如下的三种情况,都又必要使用debug=============================
> 情况2:运行以后,出现了错误或异常信息。但是通过日志文件或控制台,显示了异常信息的位置。
> 情况3:运行以后,得到了结果,但是结果不是我们想要的。
> 情况4:运行以后,得到了结果,结果大概率是我们想要的。但是多次运行的话,可能会出现不是我们想要的情况。
比如:多线程情况下,处理线程安全问题。

2.2 Debug的步骤:

Debug(调试)程序步骤如下

  • 添加断点
  • 启动调试
  • 单步执行
  • 观察变量和执行流程,找到并解决问题

(1)添加断点

在源代码文件中,在想要设置断点的代码行的前面的标记行处,单击鼠标左键就可以设置断点,在相同位置再次单击即可取消断点。
IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第110张图片

(2)启动调试

IDEA提供多种方式来启动程序(Launch)的调试,分别是通过菜单(Run –> Debug)、图标(“绿色臭虫” 等等

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第111张图片

(3)单步调试工具介绍:

在这里插入图片描述

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第112张图片

  • ①Step Over(F8):进入下一步,如果当前行断点是调用一个方法,则不进入当前方法体内
  • ②Step Into(F7):进入下一步,如果当前行断点是调用一个自定义方法,则进入该方法体内
  • ③Force Step Into(Alt +Shift + F7):进入下一步,如果当前行断点是调用一个核心类库方法,则进入该方法体内
  • ④Step Out(Shift + F8):跳出当前方法体
  • ⑤Run to Cursor(Alt + F9):直接跳到光标处继续调试
  • ⑥Resume Program(F9):恢复程序运行,但如果该断点下面代码还有断点则停在下一个断点上
  • ⑦Stop(Ctrl + F2):结束调试
  • ⑧View Breakpoints(Ctrl + Shift + F8):查看所有断点
  • ⑨Mute Breakpoints:使得当前代码后面所有的断点失效, 一下执行到底

说明:在Debug过程中,可以动态的下断点。

2.3 多种Debug情况介绍:

(1) 行断点:

  • 断点打在代码所在的行上。执行到此行时,会停下来。
package com.atguigu.debug;

/**
* ClassName: Debug01
* Package: com.atguigu.debug
* Description: 演示1:行断点 & 测试debug各个常见操作按钮
*
* @Author: 尚硅谷-宋红康
* @Create: 2022/10/20 18:44
* @Version 1.0
*/
public class Debug01 {
	public static void main(String[] args) {
		//1.
		int m = 10;
		int n = 20;
		System.out.println("m = " + m + ",n = " + n);
		swap(m, n);
		System.out.println("m = " + m + ",n = " + n);
		
		//2.
		int[] arr = new int[] {1,2,3,4,5};
		System.out.println(arr);//地址值
		char[] arr1 = new char[] {'a','b','c'};
		System.out.println(arr1);//abc
	 }
	public static void swap(int m,int n){
		int temp = m;
		m = n;
		n = temp;
	}
}

(2)方法断点:

  • 断点设置在方法的签名上,默认当进入时,断点可以被唤醒。
  • 也可以设置在方法退出时,断点也被唤醒
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第113张图片
  • 在多态的场景下,在父类或接口的方法上打断点,会自动调入到子类或实现类的方法
package com.atguigu.debug;

import java.util.HashMap;
/**
* ClassName: Debug02
* Package: com.atguigu.debug
* Description: 演示2: 方法断点
*
* @Author: 尚硅谷-宋红康
* @Create: 2022/10/20 21:15
* @Version 1.0
*/

public class Debug02 {
	public static void main(String[] args) {
		//1.
		Son instance = new Son();
		instance.test();
		
		//2.
		Father instance1 = new Son();
		instance1.test();
		
		//3.
		Consumer con = new ConsumerImpl();
		con.accept("atguigu");
		
		//4.
		HashMap map = new HashMap();
		map.put("Tom",12);
		map.put("Jerry",11);
		map.put("Tony",20);
		}
	}
	class Father{
		public void test(){
			System.out.println("Father : test");
		}
	}
	
class Son extends Father{
	public void test(){
		System.out.println("Son : test");
	}
}

interface Consumer{
	void accept(String str);
}

class ConsumerImpl implements Consumer{
	@Override
	public void accept(String str) {
		System.out.println("ConsumerImple:" + str);
	}
}

(3)字段断点:

  • 在类的属性声明上打断点,默认对属性的修改操作进行监控
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第114张图片
package com.atguigu.debug;
/**
* ClassName: Debug03
* Package: com.atguigu.debug
* Description: 演示3:字段断点
*
* @Author: 尚硅谷-宋红康
* @Create: 2022/10/20 21:34
* @Version 1.0
*/
public class Debug03 {
	public static void main(String[] args) {
		Person p1 = new Person(3);
		System.out.println(p1);
	}
}
class Person{
	private int id = 1;
	private String name;
	private int age;
	
	public Person() {
	}
	
	{
		id = 2;
	}
	
	public Person(int id) {
		this.id = id;
	}

public Person(int id, String name, int age) {
	this.id = id;
	this.name = name;
	this.age = age;
}
public int getId() {
	return id;
}

public void setId(int id) {
	this.id = id;
}

public String getName() {
	return name;
}

public void setName(String name) {
	this.name = name;
}

public int getAge() {
	return age;
}

public void setAge(int age) {
	this.age = age;
}
@Override
public String toString() {
	return "Person{" +"id=" + id +", name='" + name + '\'' +", age=" + age +'}';
  }
}

(4) 条件断点:

package com.atguigu.debug;
/**
* ClassName: Debug04
* Package: com.atguigu.debug
* Description: 演示4:条件断点
*
* @Author: 尚硅谷-宋红康
* @Create: 2022/10/20 21:49
* @Version 1.0
*/
public class Debug04 {
	public static void main(String[] args) {
		int[] arr = new int[]{1,2,3,4,5,6,7,8,9,10,11,12};
		for (int i = 0; i < arr.length; i++) {
			int target = arr[i];
			System.out.println(target);
		}
	}
}
  • 针对上述代码,在满足arr[i] % 3 == 0的条件下,执行断点。
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第115张图片

(5)异常断点:

  • 对异常进行跟踪。如果程序出现指定异常,程序就会执行断点,自动停住。
package com.atguigu.debug;
import java.util.Date;
	/**
	* ClassName: Debug05
	* Package: com.atguigu.debug
	* Description: 演示5:异常断点
	*
	* @Author: 尚硅谷-宋红康
	* @Create: 2022/10/20 22:01
	* @Version 1.0
	*/
public class Debug05 {
	public static void main(String[] args) {
		int m = 10;
		int n = 0;
		int result = m / n;
		System.out.println(result);
		// Person p1 = new Person(1001);
		// System.out.println(p1.getName().toUpperCase());
	}
}
  • 通过下图的方式,对指定的异常进行监控:
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第116张图片

(6)线程调试:

package com.atguigu.debug;
/**
* ClassName: Debug06
* Package: com.atguigu.debug
* Description: 演示6:线程调试
*
* @Author: 尚硅谷-宋红康
* @Create: 2022/10/20 22:46
* @Version 1.0
*/
public class Debug06 {
	public static void main(String[] args) {
		test("Thread1");
		test("Thread2");
}
public static void test(String threadName) {
	new Thread(
	() -> System.out.println(Thread.currentThread().getName()),threadName).start();  //java8新特性Lambda表达式
    }
}

在这里插入图片描述

(7)强制结束:

package com.atguigu.debug;
/**
* ClassName: Debug07
* Package: com.atguigu.debug
* Description: 演示7:强制结束
*
* @Author: 尚硅谷-宋红康
* @Create: 2022/10/20 23:15
* @Version 1.0
*/
public class Debug07 {
	public static void main(String[] args) {
		System.out.println("获取请求的数据");
		System.out.println("调用写入数据库的方法");
		insert();
		System.out.println("程序结束");
	}
	private static void insert() {
		System.out.println("进入insert()方法");
		System.out.println("获取数据库连接");
		System.out.println("将数据写入数据表中");
		System.out.println("写出操作完成");
		System.out.println("断开连接");
	}
}

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第117张图片

2.4 自定义调试数据视图:

package com.atguigu.debug;
import java.util.HashMap;
/**
* ClassName: Debug08
* Package: com.atguigu.debug
* Description: 演示8:用户自定义数据视图
*
* @Author: 尚硅谷-宋红康
* @Create: 2022/10/20 23:21
* @Version 1.0
*/
public class Debug08 {
	public static void main(String[] args) {
		HashMap<Integer,String> map = new HashMap<>();
		map.put(1,"高铁");
		map.put(2,"网购");
		map.put(3,"支付宝");
		map.put(4,"共享单车");
		System.out.println(map);
	}
}
  • 设置如下:
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第118张图片
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第119张图片

2.5 常见问题:

(1)问题:使用Step Into时,会出现无法进入源码的情况。如何解决?

  • 方案1:使用 force step into 即可
  • 方案2:点击Setting ->Build,Execution,Deployment -> Debugger -> Stepping 把Do not step into the classess中的 java.* 、 javax.* 取消勾选即可。
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第120张图片
    (2)小结

经验

  • 初学者对于在哪里加断点,缺乏经验,这也是调试程序最麻烦的地方,需要一定的经验。简单来说,在可能发生错误的代码的前面加断点。如果不会判断,就在程序执行的起点处加断点。

3.创建不同类型的工程

3.1 创建Java工程:

(1)在工程上,右键- New - Module,如下:

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第121张图片
(2)指明Java工程的名称及使用的JDK版本:

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第122张图片

(3)创建包:

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第123张图片

(4)提供包名:

在这里插入图片描述

(5)在包下创建类,即可:

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第124张图片

(6)提供类名:

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第125张图片

(7)测试代码:

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第126张图片

(8)点击运行即可:

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第127张图片

3.2 创建Java Web工程:

3.2.1 IDEA中配置Tomcat:

注意

  • 在IDEA中配置Tomcat之前,需要保证已经安装并配置了Tomcat的环境变量。
  • 配置完成以后,在命令行输入:catalina run 。能够启动tomcat,则证明安装配置成功。

(1)下面看如何在IDEA中配置:

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第128张图片

(2)配置Tomcat Server的位置:

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第129张图片

  • 这里配置Tomcat的名称以及配置应用服务器的位置。根据自己Tomcat的安装位置决定。
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第130张图片
  • 配置好后,如下图所示:
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第131张图片

3.2.2 创建Web工程:

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第132张图片

(1)选择New Module,指明当前工程的名称:

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第133张图片

(2)选中当前创建的工程,添加框架支持:

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第134张图片

(3)选择:Web Application,选择Create web.xml,如下

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第135张图片

3.2.3 配置web工程并运行:

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第136张图片
IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第137张图片

(1)部署当前的web项目:

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第138张图片

  • 选择第2项:
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第139张图片
  • 可以修改Application context,如下:
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第140张图片

(2)配置当前web工程的详细信息,如下:

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第141张图片

(3)配置好后,可以直接运行:

在这里插入图片描述

3.2.4 乱码的解决:

(1)如果Tomcat日志出现乱码,需要配置:

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第142张图片
(2)解决方案:

  • 1) 点击Help => Edit custom VM Options,在最后面添加
-Dfile.encoding=UTF-8
  • 2) 在当前Tomcat实例中配置 VM option,添加
-Dfile.encoding=UTF-8

注意

  • 在第二步的Startup/Connection页签的Run和Debug添加一个key为 JAVA_TOOL_OPTIONS , value为“ -Dfile.encoding=UTF-8 ”的环境变量**
  • 3) 保存后重启IDEA,可以发现控制台中文乱码显示正常了。

3.3 创建Maven Java工程:

3.3.1 Maven的介绍:

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第143张图片
(1)Maven是一款自动化构建工具,专注服务于Java平台的 项目构建 和 依赖管理 。在JavaEE开发的历史上构建工具的发展也经历了一系列的演化和变迁:

Make→Ant→Maven→Gradle→其他……

(2)构建环节:
在这里插入图片描述

①清理:删除以前的编译结果,为重新编译做好准备。
②编译:将Java源程序编译为字节码文件。
③测试:运行单元测试用例程序,确保项目在迭代开发过程中关键点的正确性。
④报告:测试程序的结果。
⑤打包:将java项目打成jar包;将Web项目打成war包。
⑥安装:将jar包或war包安装到本地仓库中。
⑦部署:将jar或war从Maven仓库中部署到Web服务器上运行。

3.3.2 Maven的配置:

下面直接整合Maven。选择自己Maven的目录,和settings文件,然后配置自己的仓库reposiroty。

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第144张图片

3.3.3 Maven Java工程的创建:

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第145张图片
(1)指明当前maven工程的名称、模板等信息。这里要求一个项目组的jdk版本必须一致。

  • 通过坐标,就可以定位仓库中具体的jar包。如下:
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第146张图片

(2)新创建的maven 的java工程缺少相应的resources文件目录,需要创建如下:

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第147张图片IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第148张图片

(3)指明main下resources的文件目录类型:

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第149张图片
(4)类似的操作test目录下,提供resources即可。

  • 这里说明Maven的java工程的目录结构:
工程名
		src
			----main
			--------java
			--------resources
			----test
			--------java
			--------resources
		pom.xml
  • main目录用于存放主程序。
  • test目录用于存放测试程序。
  • java目录用于存放源代码文件。
  • resources目录用于存放配置文件和资源文件。

3.3.4 编写代码及测试:

(1)第1步:创建Maven的核心配置文件pom.xml


<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/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0modelVersion>
	<groupId>com.atguigu.mavengroupId>
	<artifactId>maven-01artifactId>
	<version>1.0-SNAPSHOTversion>
	
	<dependencies>
		<dependency>
			<groupId>junitgroupId>
			<artifactId>junitartifactId>
			<version>4.12version>
			<scope>testscope>
		dependency>
		
		<dependency>
			<groupId>mysqlgroupId>
			<artifactId>mysql-connector-javaartifactId>
			<version>8.0.18version>
		dependency>
	dependencies>
project>

(2)第2步:编写主程序代码

  • 在src/main/java/com/atguigu/java目录下新建文件HelloMaven.java
package com.atguigu.java;
/**
* ClassName: HelloMaven
* Package: com.atguigu.java
* Description:
*
* @Author: 尚硅谷-宋红康
* @Create: 2022/10/20 18:20
* @Version 1.0
*/
public class HelloMaven {
	public String sayHello(String message) {
		return "Hello, " + message + "!";
	}
}

(3)第3步:编写测试代码

  • 在/src/test/java/com/atguigu/java目录下新建测试文件HelloMavenTest.java
package com.atguigu.java;
import org.junit.Test;
/**
* ClassName: HelloMavenTest
* Package: com.atguigu.java
* Description:
*
* @Author: 尚硅谷-宋红康
* @Create: 2022/10/20 18:21
* @Version 1.0
*/
public class HelloMavenTest {
	@Test
	public void testHelloMaven() {
		HelloMaven helloMaven = new HelloMaven();
		System.out.println(helloMaven.sayHello("Maven"));
	}
}

(4)第4步:运行几个基本的Maven命令
IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第150张图片

  • 目录下也会有对应的生命周期。其中常用的是:clean、compile、package、install。
  • 比如这里install,如果其他项目需要将这里的模块作为依赖使用,那就可以install。安装到本地仓库的位
    置。
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第151张图片

3.4 创建Maven Web工程:

3.4.1 创建Maven的Web工程步骤:

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第152张图片

(1)指明Maven的web工程的名称和模板。如下:

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第153张图片

(2)在Tomcat上进行部署:

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第154张图片

(3)配置部署的详细信息:

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第155张图片

3.4.2 开发jsp依赖jar包:

(1)找不到HttpServlet错误

  • 如果看到JSP报错: The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path 可以加入如下依赖解决。
<dependency>
	<groupId>javax.servletgroupId>
	<artifactId>servlet-apiartifactId>
	<version>2.5version>
	<scope>providedscope>
dependency>

(2)EL表达式没有提示问题

  • ${pageContext}这个EL表达式中通过pageContext对象访问reuqest属性时本身是应该有提示的,但如果没
    有的话加入下面依赖即可。
<dependency>
	<groupId>javax.servlet.jspgroupId>
	<artifactId>jsp-apiartifactId>
	<version>2.1.3-b06version>
	<scope>providedscope>
dependency>
  • 同时,针对index.jsp文件,修改一下文件头信息为:
<%@page language="java" pageEncoding="utf-8" contentType="text/html;UTF-8" %>

4.关联数据库

4.1 关联方式:

(1)找到数据库选项:

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第156张图片
(2)添加指定数据库:

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第157张图片

(3)配置MySQL数据库的详细信息:

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第158张图片

  • 表面上很多人认为配置 Database 就是为了有一个 GUI 管理数据库功能,但是这并不是 IntelliJ IDEA 的
    Database 最重要特性。数据库的 GUI 工具有很多,IntelliJ IDEA 的 Database 也没有太明显的优势。
  • IntelliJ IDEA 的 Database 最大特性就是对于 Java Web 项目来讲,常使用的 ORM 框架,如 Hibernate、Mybatis 有很好的支持,比如配置好了 Database 之后,IntelliJ IDEA 会自动识别 domain 对象与数据表的关系,也可以通过 Database 的数据表直接生成 domain 对象等。

4.2 常用操作:

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第159张图片

图标1:同步当前的数据库连接。这个是最重要的操作。配置好连接以后或通过其他工具操作数据库以后,需要及时同步
图标2:配置当前的连接
图标3:断开当前的连接
图标4:显示相应数据库对象的数据
图标5:编辑修改当前数据库对象

(1)展示ER图:
IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第160张图片

(2)可以导出文件:

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第161张图片

5. IDEA常用插件

推荐1:Alibaba Java Coding Guidelines

在这里插入图片描述

  • 阿里巴巴Java编码规范检查插件,检测代码是否存在问题,以及是否符合规范。
  • 使用:在类中,右键,选择编码规约扫描,在下方显示扫描规约和提示。根据提示规范代码,提高代码
    质量。

推荐2:jclasslib bytecode viewer

在这里插入图片描述

可视化的字节码查看器
使用

  1. 在 IDEA 打开想研究的类。
  2. 编译该类或者直接编译整个项目( 如果想研究的类在 jar 包中,此步可略过)。
  3. 打开“view” 菜单,选择“Show Bytecode With jclasslib” 选项。
  4. 选择上述菜单项后 IDEA 中会弹出 jclasslib 工具窗口。

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第162张图片
英文设置:

  • 在 Help -> Edit Custom VM Options …,加上
-Duser.language=en

推荐3:Translation

在这里插入图片描述

  • 注册翻译服务(有道智云、百度翻译开放平台、阿里云机器翻译)帐号,开通翻译服务并获取其应用ID
    和密钥 绑定应用ID和密钥:偏好设置(设置) > 工具 > 翻译 > 常规 > 翻译引擎 > 配置…
  • 使用:鼠标选中文本,点击右键即可自动翻译成多国语言。
  • 注:请注意保管好你的应用密钥,防止其泄露。

推荐4:GenerateAllSetter

在这里插入图片描述

实际开发中还有一个非常常见的场景: 我们创建一个对象后,想依次调用 Setter 函数对属性赋值,如果
属性较多很容易遗漏或者重复。

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第163张图片

可以使用这 GenerateAllSetter 提供的功能,快速生成对象的所有 Setter 函数(可填充默认值),然后自
己再跟进实际需求设置属性值。

插件5:Rainbow Brackets

在这里插入图片描述

给括号添加彩虹色,使开发者通过颜色区分括号嵌套层级,便于阅读

在这里插入图片描述

推荐6:CodeGlance Pro

在这里插入图片描述

在编辑器右侧生成代码小地图,可以拖拽小地图光标快速定位代码,阅读行数很多的代码文件时非常实
用。
IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第164张图片

推荐7:Statistic

在这里插入图片描述
代码统计工具。
IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第165张图片
IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第166张图片

推荐8:Presentation Assistant

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第167张图片

推荐9:Key Promoter X

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第168张图片

快捷键提示插件。当你执行鼠标操作时,如果该操作可被快捷键代替,会给出提示,帮助你自然形成使
用快捷键的习惯,告别死记硬背。

推荐10:JavaDoc

在这里插入图片描述

  • alt+insert ,执行操作:
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第169张图片

推荐11: LeetCode Editor

IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第170张图片
IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第171张图片
在 IDEA 里刷力扣算法题

推荐12:GsonFormatPlus

在这里插入图片描述

  • 根据 json 生成对象。
  • 使用:使用alt + s 或 alt + insert调取。
    IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第172张图片
  • 举例:
{
	"name": "tom",
	"age": "18",
	"gender": "man",
	"hometown": {
		"province": "河北省",
		"city": "石家庄市",
		"county": "正定县"
	}
}

插件13:Material Theme UI

在这里插入图片描述

对于很多人而言,写代码时略显枯燥的,如果能够安装自己喜欢的主题将为开发工作带来些许乐趣。
IDEA 支持各种主题插件,其中最出名的当属 Material Theme UI。
IDEA的安装与使用学习笔记(尚硅谷----宋红康老师)_第173张图片

  • 安装后,可以从该插件内置的各种风格个选择自己最喜欢的一种。

你可能感兴趣的:(intellij-idea,学习,笔记)