JB1-1-新手村

Java道经第1卷 - 第1阶 - 新手村(一)

文章目录

心法:本章使用 Maven 父子结构项目进行练习

练习项目结构如下

|_ v1-1-basic-rookie
	|_ helloworld

S01. 学前准备工作

学前练习:学习如何重做操作系统。
学前练习:学习并提高打字速度,个人推荐金山打字通工具。
学前练习:学习如何制作幻灯片,个人推荐 Foucsky 工具。
学前练习:学习如何彻底卸载软件,个人推荐 geek 工具。
学前练习:学习如何截图截屏,个人推荐 PixPin 工具。
学前练习:学习如何解压缩文件,个人推荐 NanaZip 工具。
学前练习:学习如何绘制思维导图,个人推荐 XMind 工具。
学前练习:学习如何搜索文件,个人推荐 Listary 工具。
学前练习:学习常用的快捷键,如全选、复制、剪切、粘贴、撤销、查找、替换等。

E01. 基础概念分享

1. 项目开发流程

心法:常见的项目开发流程大概分为以下三个阶段。

项目开发第一阶段

在这里插入图片描述

项目开发第二阶段

在这里插入图片描述

项目开发第三阶段

在这里插入图片描述

2. 完整学习路线

心法:Java 学习的技术栈分为 单体微服务 两种分别进行说明。

单体技术栈

在这里插入图片描述

微服务技术栈

在这里插入图片描述

3. 学习技巧分享

心法:Java 学习技巧分享(仅个人经验分享)

  • 向钱看:钱是获取自由的工具,每当坚持不住的时候,就看一看自己的银行卡余额。
  • 多喝水:科学研究表明,身体缺水,学习能力就会下降。
  • 跟人学:古人死磕书本,今人回归人格,跟你的前辈,同学,老师学习,绝对要比跟书本和视频更合适。
  • 多搜索:为什么我能记住这么多知识,因为知识是我自己主动搜索得来的,而非被动灌输的。
  • 讲出来:说话可以刺激大脑的另一部分,如果我们想看懂什么或者想牢记什么,大声讲给别人听就行了。
  • 多画图:图形比文字的信息传输率高 89% 左右,灵魂画手除外。
  • 记笔记:笔记是记忆的最佳缝合方式,多去记录我们的疑惑,思路和思考等。

4. 学前环境准备

武技:Java 学习之前的环境准备(仅个人经验分享)

  1. 使用一切手段清理和整理我们的 win8+ 计算机,特殊情况下,升级硬件,重做系统。
  2. 确保我们的计算机名称为英文名称,否则某些软件如 MySQL 等,可能会安装失败。
  3. 确保我们是管理员用户,并将用户控制权限拉到最低,强烈建议关闭防火墙。
  4. 在资源管理器中显示文件的拓展名。
  5. 在资源管理器种将所有的隐藏内容也显示出来,但不要乱动。
  6. 新建目录如 D:\joezhou,统一存放今后所有的学习资源,项目和笔记。

E02. Java基础概念

1. 语言年龄分代

心法:Java 语言是第 4 代(或 3.5 代)的计算机语言,同时在 Java 技术栈中,也一定会涵盖到第 5 代的 SQL 语言。

分代面向描述运行效率开发效率语言举例
1机器打孔机 + 指令条模式极高极低二进制语言
2指令有自主分析,但少了些灵魂,不够高级较高较低汇编语言
3过程关心每一个流程和每一个细节,属于高级语言中等中等C 语言
4对象关注对象属性,对象方法,对象关系和对象调用较低较高Java,C++ 等语言
5结果需求-结果模型中等极高SQL 语言

2. 核心技术特点

心法:Java 曾用名 Green 和 Oak,后因印度尼西亚盛产咖啡的爪洼岛而改名。

Java 是 Sun 公司(09 年被 Oracle 公司收购)的詹姆斯·高斯林团队在 1994 年研发出来的一门计算机编程语言,分为 JavaSE 标准版,JavaME 个人版和 JavaEE 企业版三个版本。

Java 的技术特点总结如下

  • 简单高效:Java 是基于 C++ 起来的,但是去除了很多 C++ 的难点,上手难度低。
  • 潜力无限:Java 拥有无穷无尽的强大类库,即各种功能拓展包,所以拥有无限潜力。
  • 平易近人:Java 是一门面向对象的语言,相比过程和细节,更关心属性和方法,更接近人类的思维。
  • 粉丝泛滥:Java 粉丝量大,社区活跃,文档齐全,始终处于 TIOBE 编程语言排行榜前几名。
  • 身体健壮:Java 内部具有非常完善的异常处理机制,不容易使系统崩溃。
  • 安全可靠:Java 有指针,但不支持直接操作指针,所以不容易中毒。
  • 场景丰富:Java 被应用于安卓,金融,服务器,电商网站,嵌入式,大数据,高频交易空间,科学应用等场景。
  • 掌声一片:Java 的源代码是在 JVM 上进行编译的,编译结果为字节码,字节码是可以跨平台的。

3. 平台移植专题

心法:跨平台指的是软件、应用或系统无需大幅修改,就能在多种不同操作系统、硬件架构或软件环境中正常运行。

C 语言不具有跨平台特性

在这里插入图片描述

Java 语言由于引入了 JVM 的概念,所以具有跨平台特性

在这里插入图片描述

E03. Java笔记工具

1. Markdown语法

心法:建议使用 Markdown 格式的文件记录笔记,该文件使用 .md 作为后缀。

在这里插入图片描述

2. Notepad3软件安装

武技:安装 Notepad3 记事本软件

下载 Notepad3:下载 Nodepad3 便携版,如 Notepad3_6.23.203.2_x64_Portable.zip 等。

解压 Notepad3:解压缩到 D:\notepad 目录。

启动 Notepad3:双击 Notepad3.exe 启动该软件,建议发送到桌面快捷方式。

配置 Notepad3

  1. 查看 - 勾选 显示行长度标记
  2. 查看 - 勾选 显示缩进提示
  3. 查看 - 取勾 书签
  4. 外观 - 语法高亮方案集 - Obsidian
  5. 设置 - 勾选 自动关闭括号
  6. 设置 - 勾选 自动关闭 HTML/XML 标记
  7. 设置 - 勾选 自动补全单词
  8. 设置 - 勾选 自动补全语法关键字

3. Obsidian软件安装

武技:安装 Obsidian 笔记软件

下载 Obsidian:参考 Obsidian官网Obsidian下载地址

安装 Obsidian

  1. 傻瓜式安装即可,路径不要出现中文和特殊符号。
  2. 运行 obsidian.exe 程序,打开 Obsidian 软件。
  3. 调整语言为中文,然后创建仓库。

在这里插入图片描述

  1. 填写仓库名称,然后浏览一个仓库地址如 D:\workspace

在这里插入图片描述

4. Obsidian软件配置

心法:调整 Obisidian 软件的基础配置,仅供参考。

第 1 步:取消缩减栏宽:取勾 设置 - 编辑器 - 缩减栏宽,此时编辑器宽度为 100%,加大编辑器宽度:

在这里插入图片描述

第 2 步:配置图片地址

  1. 进入 设置 - 文件与链接 页面。
  2. 勾选 始终更新内部链接:此时重命名文件时可以自动更新链接地址,无需手动确认。
  3. 选择 内部链接类型基于当前笔记的相对路径:此时内链会使用相对路径,更灵活。
  4. 取勾 使用Wiki链接:此时链接使用标准的 MD 语法,更通用。
  5. 选择 附件默认存放路径当前文件所在文件夹下指定的子文件夹中:此时附件会自动存放到指定位置。
  6. 填写 子文件夹名称image:附件的指定文件夹名称。

在这里插入图片描述

第 3 步:切换软件主题

  1. .obsidian\themes\ 目录下安装对应主题(注意是目录,而非压缩包):

在这里插入图片描述

  1. 进入 设置 - 外观 - 主题,选择 Things(推荐),此时会自动切换主题:

在这里插入图片描述

第 4 步:调整字体大小

  1. 调整 设置 - 外观 - 字体大小 为 18。
  2. 勾选 设置 - 外观 - 快速调整字体大小:此时通过 ctrl + 鼠标滚轮 可以快速调整字体。

在这里插入图片描述

第 5 步:设置全局样式

  1. 创建全局样式文件 .obsidian\snippets\global.css,目录不存在则手动创建。
  2. 在全局样式文件中输入 CSS 代码,并保存文件:
img {
	border: 1px solid gray !important; /*边框*/
}

.cm-header-1 {
	color: orange !important;
}

.cm-header-2 {
	color: skyblue !important;
}

.cm-inline-code, code {
	color: orange !important;
}
  1. 点击 设置 -> 外观:在最后的 css代码片段 中选择启用刚才写的 global.css 样式文件:

在这里插入图片描述

5. Obsidian软件插件

心法:手动安装插件时,可在 .obsidian\plugins\ 目录下直接安装对应插件(注意是目录,而非压缩包)。

武技:为 Obsidian 安装常用插件,仅供参考。

第 1 步:关闭安全模式:点击 设置 -> 第三方插件 - 关闭安全模式,此时才允许安装第三方插件:

在这里插入图片描述

第 2 步:启用插件功能:勾选对应插件以开启插件功能,强烈推荐的插件如下:

插件名描述推荐值
Clear Unused Images用于一键清除未被笔记链接的图片★★★★★
Paste image rename用于重命名截图,自动将粘贴的截图生成指定的文件名★★★★★
Unique attachments用于重命名附件,自动为附件生成唯一不重复的随机名★★★★★
Trash Explorer用于打开 Obsidian 回收站★★★★★
Excalidraw用于直接在笔记中画图★★★★★
Full Calendar日历,用于记录日程★★★★
Enhancing Mindmap用于创建思维导图★★★★
Obsidian Git用于自动同步内容到 Gitee★★★★
Templater用于设置模板★★★★
Style Settings用于修改主题★★★★
Outliner用于规范 MD 列表★★★★
File Explorer Note Count在目录列表右侧展示该目录中的文件数量★★★★
Kanban看板,用于记录表格★★★★

在这里插入图片描述

6. Obsidian代码同步

心法:Obsidian 的笔记都默认保存在本地,容灾性低,建议备份到云端,我这里选择备份到 Gitee 远程仓库上。

武技:将 Obsidian 的本地笔记备份到 Gitee 远程仓库。

  1. 创建 Gitee 仓库:自行注册,登录并绑定邮箱:

在这里插入图片描述

  1. 进入笔记位置处,初始化 git 环境(需要本地安装了 git 环境)并绑定 gitee 地址:
# 进入笔记位置处
cd obsidian\workspace\joezhou

# 初始化git仓库
git init

# 绑定远程仓库:克隆下来的项目不需要此步骤
git remote add origin https://gitee.com/coder-joezhou/note.git

# 查看当前绑定的远程仓库
git remote -v

# 从远程获取项目最新版本,弹日志直接 `:wq` 跳过
# 此操作不会覆盖本地的文件,放心使用
git pull origin master --allow-unrelated-histories

# 添加当前目录下的全部内容
git add .

# 提交内容
git commit -m "JoeZhou"

# 远程推送到Gitee
git push -u origin "master"
  1. 自动同步:使用自动同步功能,需要提前添加并启动 Obsidian Git 插件,然后在 Obsidian 中设置每隔 30 分钟自动备份,并同步一次:

在这里插入图片描述

  1. 手动同步:手动备份可直接使用以下 cmd 命令:
git add .
git commit -m "JoeZhou"
git pull
git push -u origin "master"

S02. 开发环境搭建

E01. 搭建Java环境

心法:JDK 与 JRE 的区别

Java Development Kits(JDK)Java Runtime Environment(JRE)
中文Java 开发工具箱Java 运行时环境
描述包含 JRE 和一些 .exe 可执行程序包含 JVM 虚拟机和一些类库
场景开发 + 运行 Java 程序只能运行 Java 程序,不能开发 Java 程序

武技:在 Windows 中安装 JDK 环境

1. 卸载JDK

若之前安装的是免安装版 JDK,直接删除安装目录即可,否则需要在控制面板处卸载。

2. 安装JDK

  1. 下载 JDK:选择 jdk-17.0.9 版本的免安装版本 JDK。

在这里插入图片描述

  1. 安装 JDK:解压缩即可使用,注意目标路径不要有中文,空格和特殊符号,且必须是一个空目录,如 D:\jdk\jdk-17.0.9 等。

在这里插入图片描述

  1. 检查 JDK:使用 CMD 窗口检查 JDK,具体指令如下:
# 清屏幕
cls

# 切换当前位置到D盘根目录
d:

# 查看当前目录下的全部目录和文件
dir

# 进入指定文件夹中
cd jdk\jdk-17.0.9\bin

# 使用 `java.exe` 程序查看JDK版本,`.exe` 后缀可省略
java.exe -version

# 可以查看更多 `java.exe` 命令,`.exe` 后缀可省略
java.exe -help

3. 配置Path变量

心法:为何要配置系统 Path 变量

Windows 系统的 Path 变量专门存放某些软件的可执行程序所在的目录,一般为 bin 目录。

当 CMD 在执行某个 .exe 程序的时候会优先在当前目录中寻找,若当前目录中没有这个 .exe 程序,则尝试在系统的 Path 变量中的全部目录下依次寻找。

所以,配置 Path 意义就是让 CMD 快速找到 Java 的可执行程序。

武技:将 JDK 配置到系统 Path 变量中

  1. 拷贝 Java 家目录中 bin 目录的地址,如 D:\jdk\jdk17\bin 目录。
  2. 点击 右键此电脑 -> 属性 -> 高级系统设置 -> 高级 -> 环境变量 -> 系统变量
    1. 若无 Path 则新建 Path,添加 D:\jdk\jdk-17.0.9\bin 值。
    2. 否则追加该值,注意千万不要将 Path 的原值删除。
  3. 重启 CMD 窗口并在任意位置测试以下命令:
# 负责编译Java文件的编译程序,`.exe` 后缀可省略
javac.exe

# 负责运行Java文件的运行程序,`.exe` 后缀可省略
java.exe

4. 配置JAVA_HOME

心法:为何要配置系统 JAVA_HOME 变量

系统变量 JAVA_HOME 用于配置 JDK 的家目录,是自定义的,它主要用于实现系统变量 Path 的归一原则,所谓归一原则,就是尽量将相同的,易变的内容抽取为变量,将变化归于一处,统一处理和调度。

除此之外,其它如 Maven 之类的程序可能会默认寻找该变量。

武技:配置 JAVA_HOME 变量

  1. 拷贝 Java 家目录地址,如 D:\jdk\jdk-17.0.9 目录。
  2. 新建 JAVA_HOME 变量:
    1. 点击 右键此电脑 -> 属性 -> 高级系统设置 -> 高级 -> 环境变量 -> 用户变量
    2. 新建 JAVA_HOME 变量,添加 D:\jdk\jdk-17.0.9 值,点击确定完成新建。
  3. 优化 Path 变量的值为 %JAVA_HOME%\bin,使其满足归一原则:
    1. 若 Path 变为单行模式,则在变量值最前面添加 C:\Windows\System64; 即可。
# 使用 setx 命令配置 JAVA_HOME 变量
setx JAVA_HOME "D:\jdk\jdk-17.0.9"

# 查看JAVA_HOME变量
set "JAVA_HOME"

# 查看JAVA_HOME变量
echo %JAVA_HOME%

E02. HelloWorld程序

心法:Java 程序运行分为编写,编译和运行三个步骤。

编写:我们写代码文件,叫做源文件,后缀是 .java。

编译:把我们能看懂的 .java 文件编译成 JVM 能看懂的 .class 文件。

运行:将 .class 文件中的全部类先加载到 JVM,然后再转换成对应 OS 的机器码。最后运行机器码。

1. 开发HelloWorld

武技:使用 Nodepad3 开发 HelloWorld 程序

  1. 编写源代码:比如开发 D:\HelloWorld.java 文件:
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello 周航宇!");
    }
}
  1. 编译源代码:每次改动源代码后,都需要重新编译一次才可生效:
# 切换到D盘
d:

# 使用 `dir` 命令查看该位置下的文件
dir

# 编译HelloWorld.java文件
javac HelloWorld.java
  1. 运行字节码
    1. 运行是指运行加载到 JVM 中的类,而不是字节码文件本身,所以不要添加 .class 后缀。
    2. 在 JDK11+ 的版本中,可以直接运行 Java 源文件,无需编译也不会产生字节码文件。
# 正确:运行 JVM 中的 HelloWorld 类
java HelloWorld

# 错误:运行 JVM 中 HelloWorld 包下的 class 类
java HelloWorld.class

2. 编码三大规矩

心法:编码三大规矩

  1. Java 代码中不会出现任何中文符号,但字符串中可以。
  2. Java 代码中的小括号,中括号,大括号,单引号,双引号都是成对儿出现的。
  3. Java 代码中,行尾遇到左大括号,则下一行必须缩格(按一次 Tab 键)。

3. 详解class类

心法:Java 类是 Java 封装的最小单位。

public:表示该类可以被公开访问,且一个 Java 文件中只能存在一个被 public 修饰的类。

class:该关键字用来标识后面的 HelloWorld 是一个类:

  • 一个 Java 文件中可以存在多个 class 关键字。
  • 一个 Java 文件可以编译成多个字节码文件。

HelloWorld:类名必须和文件名一致且不能重复,必须使用大驼峰单词,建议使用英文名词。

{}:类体中只能包含属性和方法。

4. 详解main方法

心法:main 方法是程序主入口,只能写在 public class {} 中才可以被调用。

public:表示该方法可以被公开访问,以保证 JVM 在任何情况下都可以访问到这个入口。

static:表示该方法共享且先行,为了让 JVM 调用起来更方便。

void:表示 main 方法不返回任何值,因为 main 方法结束即表示整个程序结束,无需返回值。

main:JVM 只认 main 为入口方法的名字,所以该名称是固定的。

(String[] args):形参列表,可使用 java HelloWorld aa bb 来向 main 方法传递参数。

{}:方法体中只能包含逻辑代码。

5. 详解输出语句

心法:输出语句用于在控制台输出指定的内容。

System.out:系统标准输出,默认输出位置为 Console 控制台。

.println(“HelloWorld!”):换行输出方法,括号中的内容就是输出的内容。

;:Java 中的每条语句后,只要不以花括号结尾,就必须要以英文分号结尾。

S03. 集成开发工具

心法:集成开发环境 Integrated Development Environment(IDE),是一款集成了代码编写,分析,编译,调试等功能的一体化软件。

集成开发环境目前比较火热的产品有 IntelliJ IDEA 和 Eclipse 两款,个人推荐前者。

  • IntelliJ IDEA Ultimate:IDEA 最终版,功能完整,允许试用 30 天,试用结束后需要付费。
  • IntelliJ IDEA Community Edition:IDEA 社区版,免费但功能有阉割,不建议使用。

E01. 安装IDEA工具

心法:IntelliJ_IDEA2023.3付费版

1. 卸载IDEA

心法:若之前安装的是免安装版 IDEA,直接删除安装目录即可,否则需要在控制面板处卸载。

第一步:删除注册表相关信息

  1. 键入 windows + R,然后输入 regedit 进入注册表。
  2. 找到并删除 计算机\HKEY_CURRENT_USER\SOFTWARE\JavaSoft\Prefs\jetbrains 目录。

第二步:删除残留文件

  1. 删除 C:\users\用户名\ideaProjects\ 目录(若有)。
  2. 删除 C:\users\用户名\AppData\Roaming\JetBrains 目录(若有)。
  3. 删除 C:\users\用户名\AppData\Local\JetBrains 目录(若有)。
  4. 删除 C:\Program Files\JetBrains 目录(若有)。
  5. 删除 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\JetBrains 目录(若有)。

2. 安装IDEA

  1. 下载 IDEA2023.3 - Windows x64 ZIP Archive(zip)版本。

在这里插入图片描述

  1. 自行购买 IDEA 并激活 IDEA,购买后可通过点击 IDEA 中的 Help -> About 查看 IDEA 版本信息和激活情况。

3. 创建Java项目

武技:使用 IDEA 创建 HelloWorld 项目

  1. 使用管理员方式启动 @/bin/idea64.exe 程序,建议发送桌面快捷方式,并修改双击启动权限:

在这里插入图片描述

  1. 点击 New Project 创建新的项目:
    1. 在 name 栏填写项目名,尽量不要使用中文和特殊符号。
    2. 在 location 栏填写项目地址,目录不存在会自动创建。
    3. 在 JDK 栏选择 Add JDK 添加 JDK 家目录(忘记了可以参考 JAVA_HOME 变量)。
    4. 点击 create 完成项目创建。

在这里插入图片描述

  1. 开发 HelloWorld 源代码:
    1. 建包:在 src 目录中创建 com.joezhou.start 包,要求域名倒置 + 功能名格式,全小写。
    2. 建类:在包中创建 HelloWorld 类: 要求类名大驼峰,默认使用 .java 后缀。
    3. 方法:在类体中编写 main() 方法: 可使用 main + Tab 键 快捷生成。
    4. 语句:在 main() 方法中编写输出语句: 可使用 sout + Tab 键 快捷生成。
  2. 运行 HelloWorld 源代码:
    1. 编译:IDEA 在运行代码之前,会自动帮我们进行编译工作,无需手动操作。
    2. 运行:点击 main() 方法左侧的播放按钮,使用 Debug 方式运行该方法,在控制台查看结果。

E02. 配置IDEA工具

心法:IDEA 当前项目常用的配置项入口为 File -> Settings 页面。

IDEA 后续项目常用的配置项入口为 File -> New Projects Setup -> Settings for New Projects.. 页面。

1. 禁用自动更新

武技:禁用 IDEA 自动更新

进入 File -> Settings -> Appearance & Behavior -> System Settings -> Updates 界面:

  1. 取勾 Check IDE updates for .. 选项。
  2. 取勾 Check for plugin updates 选项。
  3. 取勾 Show What's New in the editor after an IDE update 选项。

2. 设置字体大小

武技:设置调整 IDEA 字体大小的快捷键

进入 File -> Keymap 界面,展开 Editor Actions 栏,在右上角搜索栏中输入 font 关键字:

  1. 选择 Increase Font Size,设置快捷键为 Ctrl + Wheel up,即 Ctrl 加鼠标上滑轮。
  2. 选择 Decrease Font Size,设置快捷键为 Ctrl + Wheel down,即 Ctrl 加鼠标下滑轮。
  3. 选择 Reset Font Size,设置快捷键为 Ctrl + Middle-Clidk,即 Ctrl 加鼠标中键。

3. 设置字符编码

武技:设置 IDEA 字符编码(需要再次设置其他项目)

进入 File -> Settings -> Editor -> File Encodings 界面:

  1. 修改 Global EncodingUTF-8 编码。
  2. 修改 Project EncodingUTF-8 编码。
  3. 修改 Default encoding for properties filesUTF-8 编码。
  4. 勾选 Transparent native-to-ascii conversion 项。

4. 设置代码模板

武技:设置 IDEA 代码模板,设置后每次新建类,接口等文件时候,会自动添加作者名(阿里规约推荐每个类都要添加作者名)。

进入 File -> Settings -> Editor -> File and Code Templates 界面:

  1. 修改 Class 的定义上方添加文档注释以及 @author 周航宇 作者名。
  2. 修改 Interface 的定义上方添加文档注释以及 @author 周航宇 作者名。
  3. 修改 Enum 的定义上方添加文档注释以及 @author 周航宇 作者名。
  4. 修改 AnnotationType 的定义上方添加文档注释以及 @author 周航宇 作者名。
  5. 修改 Record 的定义上方添加文档注释以及 @author 周航宇 作者名。

5. 隐藏指定目录

武技:隐藏 IDEA 文件目录,比如 *.idea 和 *.iml 文件可以隐藏(防止误操作)但不推荐直接删除。

进入 File -> Settings -> Editor -> File Types 界面,并切到 Ignored Files and Folders 选项卡:

  1. 添加 *.idea 以隐藏 Project 视图中的 *.idea 目录,按回车确认。
  2. 添加 *.iml 以隐藏 Project 视图中的 *.iml 文件,按回车确认。

6. 启用自动导包

武技:启用 IDEA 自动导包

进入 File -> Settings -> Editor -> General - Auto Import 界面:

  1. 勾选 Add unambiguous imports on the fly: 动态添加明确的导入。
  2. 勾选 Optimize imports on the fly: 优化导入,即删除多余的包。

7. 展示方法分隔线

武技:展示方法分隔线

进入 File -> Settings -> Editor -> General - Appearance 界面:勾选 Show method separators 选项。

8. 配置终端工具

武技:修改 IDEA 终端

进入 File -> Settings -> Tools -> Terminal 界面,选择 Shell pathC:\Windows\system32\cmd.exe 即可。

9. 安装三方插件

心法:IDEA 插件推荐

插件名称功能
Translation翻译工具,快捷键 ctrl + shift + y
Gitee托管中心工具
GenerateAllSetter快速生成 Set 默认值
maven-search搜索 Maven 依赖
Maven Helper查看 Maven 依赖关系图
jclasslib Bytecode Viewer查看字节码
VueVue 支持
WeChat weapp Support微信小程序支持
Wechat mini program support微信小程序支持
Redis HelperRedis 客户端
Mongo DB BrowserMongoDB 客户端

武技:安装 IDEA 插件

  1. 进入插件市场 File -> Settings -> plugins -> Marketplace:网络不好可点击小齿轮设置代理为 http://plugins.jetbrains.com 地址。
  2. 在 Marketplace 中搜索常用插件,点击 install 进行下载常用插件。
  3. 点击 File -> Invalidate Caches... -> just Restart IDE.. 重启 IDEA,否则插件暂不生效。

S04. 项目管理工具

心法:Maven 是 Apache 下的一个纯 Java 开发的免费开源的项目管理工具,因其依赖管理和一键构建两大优势而备受好评。

依赖管理:Maven 在项目的 POM 文件中以坐标的方式引入和集中管理项目的依赖,自动下载,安全便捷。

一键构建:Maven 自带一些命令用于快速的对项目进行清理,编译,测试,打包,部署等工作。

E01. 安装Maven工具

1. 下载安装工具

武技:安装 Maven 工具的前提是 JDK1.7+ 环境,且正确配置了 JAVA_HOME 环境变量。

下载 apache-maven-3.9.9-bin.zip 并直接解压缩即可。

2. 配置环境变量

  1. 配置环境变量 MAVEN_HOME,值为 Maven 家目录:

在这里插入图片描述

  1. 添加环境变量 Path,值为 %MAVEN_HOME%\bin 以满足归一原则:

在这里插入图片描述

  1. 在 CMD 窗口,使用 mvn -version 查看 Maven 版本:
# 查看 Maven 版本
mvn -version

E02. 搭建Maven仓库

心法:Maven 项目在引入某依赖时,会依次在本地仓库,远程仓库(若有)和中央仓库寻找,寻到时依次向前备份,Maven 依赖的坐标可以在 MvnRepository 网查询。

本地仓库:计算机本地某个文件夹,如 D:\repository 等,需自行在 setting.xml 中进行配置。

远程仓库:一般用于多地团队开发,可以内网配置或外网配置。

中央仓库中央仓库 是Maven 团队维护的仓库,服务于外网,若官网挂了,可以参考 Maven Central 网站。

Maven 获取依赖的流程

在这里插入图片描述

1. 配置Maven仓库

  1. 新建 D:\maven\repository 仓库目录,位置和取名随意。
  2. 在配置文件 @/conf/settings.xml<settings> 中配置本地仓库地址:
<!--Maven 本地仓库位置-->
<localRepository>D:\maven\repository</localRepository>

2. 配置阿里云镜像

心法:为 Maven 配置第三方镜像可以提升依赖的下载的速度。

武技:在 conf/settings.xml 文件的 <mirrors> 标签中,为 Maven 配置阿里云镜像。

<!--阿里云私服镜像-->
<mirror>
    <id>alimaven</id>
    <mirrorOf>central</mirrorOf>
    <name>aliyun maven</name>
    <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>

3. 初始化Maven工具

武技:初始化 Maven 工具,包括确认环境变量,确认配置文件,检查仓库,下载基础的 help 插件等。

# 初始化Maven工具: 提示 `BUILD SUCCESS` 表示完成
mvn help:system

E03. 整合Maven工具

武技:将 Maven 工具整合到 IDEA 中

进入 File -> Settings -> Build, Execution, Deployment -> Build Tools -> Maven 页面:

  1. Maven home directory 栏选择 Maven 的根目录,即 MAVEN_HOME 的值。
  2. User settings file 栏选择 Maven 的主配文件,提前勾选后方 Override 选项。
  3. Local repository 栏选择 Maven 的本地仓库目录,提前勾选后方 Override 选项。

进入 File -> New Projects Setup -> Settings for New Projects -> Build, Execution, Deployment -> Build Tools -> Maven 页面,配置同上。

重启 IDEA,否则配置不生效。

在这里插入图片描述

1. 创建Maven父项目

心法:Maven 父子项目的意义

Maven 父项目一般用于统一管理所有子项目依赖的版本,而 Maven 子项目负责具体的工程开发。

武技:创建 Maven 父项目 v1-1-basic-rookie

  1. 点击 File -> New -> Project -> Maven: 选择JDK,填写项目坐标。
  2. 创建好父项目后,删除父项目的 src 目录,因为父项目不用于开发和测试,仅用于描述项目结构。
  3. 检查 IDEA 的 Maven 配置和 IDEA 的编码配置。
  4. 在父项目的 POM 文件中锁定依赖版本(标签名可以自定义):
<!--全局属性-->
<properties>
	<maven.compiler.source>17</maven.compiler.source>
	<maven.compiler.target>17</maven.compiler.target>
	<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	<junit.version>4.13.2</junit.version>
	<lombok.version>1.18.24</lombok.version>
	<hutool-all.version>5.8.25</hutool-all.version>
</properties>
  1. 在父项目的 POM 文件中管理依赖坐标:
<!--依赖管理-->
<dependencyManagement>
    <dependencies>
        <!--junit-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>${junit.version}</version>
            <scope>test</scope>
        </dependency>
        <!--lombok-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>${lombok.version}</version>
            <scope>provided</scope>
        </dependency>
        <!--hutool-all-->
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>${hutool-all.version}</version>
        </dependency>
    </dependencies>
</dependencyManagement>

2. 创建Maven子项目

武技:创建 Jar 包 Maven 子项目 helloworld

  1. 右键父项目 New -> Module -> Maven: 选择 JDK,填写项目坐标。
  2. 检查 IDEA 的 Maven 配置和 IDEA 的编码配置。
  3. 在子项目中开发 HelloWorld 入门程序:
    1. 在 src/main/java 中开发 com.joezhou.app 包。
    2. 在 com.joezhou.app 包中开发 HelloWorld 类。
package com.joezhou.app;

/** @author 周航宇 */
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("HelloWorld!!!");
    }
}

3. 常用Maven命令

心法:Maven 常用命令

Maven 一键构建流程

在这里插入图片描述

武技:测试常用 Maven 项目构建命令

右键项目 Open In -> Terminal: IDEA 要以管理员方式运行,终端的权限才足够:

# 清理命令: 清理 `out/target` 文件夹下的 `classpath` 文件
mvn clean

# 编译命令: 将Java文件编译成 `classpath` 文件
mvn compile

# 测试命令: 先执行编译命令,再执行单元测试方法
mvn test

# 打包命令: 先依次执行编译和测试命令,然后将Java项目打Jar包,Web项目打War包
mvn package

# 打包命令: 跳过测试环节打包
mvn clean -Dmaven.test.skip=true package

# 安装命令: 先依次执行编译,测试和打包命令,然后将项目安装到Maven本地仓库
mvn install

S05. 项目测试工具

E01. Maven依赖配置

相关标签描述示例
<dependencies>划分依赖配置区
<dependency>用于定义一条依赖
<groupId>依赖的横坐标org.projectlombok:项目包名
<artifactId>依赖的纵坐标lombok:项目名
<version>依赖的版本1.18.24
<scope>依赖的生效范围compile:编译、测试、运行,打包时生效,默认值。
test:仅编译(测试),运行(测试)时生效。
provided:仅编译、测试时生效,运行环境包含时不被打包。
runtime:仅测试,运行,打包时生效。
<optional>依赖是否可传递true:不向调用方传递此依赖。
false:向调用方传递此依赖,默认值。

E02. Junit单元测试

1. Junit测试规范

心法:Junit 测试类需要在 src/test/java 包中进行编写和开发,其余规范如下:

测试类 public class UserTest:命名建议使用 Test 后缀。

测试方法 testInsert(){}:方法名必须为 public 修饰,返回值必须为 void 描述,方法必须无参数。

运行注解 @Test testInsert(){}:需要在测试方法上标记 @Test 注解,否则无法运行该方法。

前置注解 @Before before(){}:标记 @Before 注解的方法会在每个 Junit 测试方法执行前执行。

后置注解 @After after(){}:标记 @After 注解的方法会在每个 Junit 测试方法执行后执行。

2. 添加Junit依赖

武技:在项目的 POM 文件中引入 Junit 依赖。

若子项目不指定 <version>/<scope>,则使用父项目管理的依赖。

若子项目指定了 <version>/<scope>,则使用子项目自己的依赖,表示覆盖父项目管理的对应内容。

<!--三方依赖-->
<dependencies>
    <!--junit-->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
    </dependency>
</dependencies>

3. 测试Junit功能

package junit;

/** @author 周航宇 */
public class JunitTest {

    @Before
    public void before() {
        System.out.println("学习");
    }

    @Test
    public void testJavaSE() {
        System.out.println("JavaSE");
    }

    @Test
    public void testJavaEE() {
        System.out.println("JavaEE");
    }

    @After
    public void after() {
        System.out.println("使我快乐");
    }
}

S06. 项目协同工具

心法:Git 是一个分布式的版本控制工具,可以帮助我们在团队开发中多人并行地修改服务器端的同一个文件。

Git 支持记录何时,何地,何人对文件进行何种操作,且每次操作时,版本号都会递增。

为避免提交过程发生冲突,必须遵守 推前必拉 的原则。

Git 的分区存储

在这里插入图片描述

E01. 安装Git服务端

1. 服务端搭建

武技:Windows 安装 Git 服务端

  1. 下载 Git-2.28.0-64-bit.exe,然后傻瓜式安装。
  2. 配置 Git 服务端:
# 查看Git版本
git --version

# 设置全局开发人员标识,否则某些命令会失效,用户名和邮箱自定义
git config --global user.name joezhou
git config --global user.email yy06200210@163.com

# 查看全局开发人员标识
git config --list
  1. 在目录中右键 Git Bash Here 可直接开启 Git 命令行。
  2. 若 OS 系统更新了 Win11 之后,鼠标右键的 Git Bash Here 不见了:
    1. 使用 Win+R -> regedit 打开注册表。
    2. 进入注册表的 \HKEY_CLASSES_ROOT\Directory\Background\ 目录:
      1. 选中 shell,右键新建项 Git Bash Here。
      2. 选中 Git Bash Here ,右键新建项 command。
    3. 选中 command,双击右侧的 (默认) 项,输入 git-bash.exe 的位置,如 "D:\Git\git-bash.exe" "--cd=%v." 等。
    4. 选中 Git Bash Here,双击右侧的 (默认) 项,输入 git-bash.exe 的位置。如 D:\Git\git-bash.exe 等,不用加双引号。

2. IDEA整合

武技:在 IDEA 中整合 GIT 服务端

  1. 在 IDEA 中配置 Git 服务:
    1. 进入 File -> Settings -> Version Control -> Git 界面。
    2. 在 Path to Git executable 栏填写 @/bin/git.exe 地址。
    3. 点击 Test 按钮测试,出现 Git 版本即视为配置成功。
  2. 从 IDEA 中断连 Git 服务:
    1. 进入 File -> Settings -> Version Control -> Directory Mappings 界面,点击减号删除指定项目的 Git 连接。
    2. 若永久不想恢复,则去项目所在文件系统中删除 .git 目录即可。

3. 注册远程库

  1. 注册并登录 GitEE官网,右上角绑定邮箱,否则无法整合到 IDEA 中。
  2. 进入 File -> Settings -> Version Control -> Gitee 界面,点击加号,填入 GitEE 绑定的邮箱和登录密码。
  3. 在 Connection timeout 栏增加超时时间,以避免网络不佳的情况。

E02. 新建APP项目

1. 分享项目

武技:赵四分享项目到 GitEE 远程仓库

  1. 新建 Maven 项目,开发 HelloWorld 代码,建议在项目根目录下开发一个 README.md 说明文件。
  2. 将项目首次 Share 到 GitEE 远程库:
    1. 点击 VCS -> Share Project on Gitee 进入 Share 界面。
    2. 选择要 Share 的目录和文件,建议将 target 目录取勾。
    3. 点击 Share 按钮,完成操作。
  3. 在 GitEE 中查看本次 Share 操作是否成功:
    1. Share 成功后,项目中会多出一个 .git 目录,用于存放 Git 相关配置。
    2. Share 失败时,可尝试在 GitEE 中手动创建项目后再进行 Share 操作。

2. 邀请队友

心法:仓库成员权限

权限游客报告者观察者开发者管理员
公开仓库 克隆代码支持支持支持支持支持
公开仓库 下载代码支持支持支持支持支持
公开仓库 拉取代码支持支持支持支持支持
公开仓库 评论代码支持支持支持支持支持
公开仓库 下载附件支持支持支持支持支持
私有仓库 下载附件支持支持支持支持
私有仓库 克隆代码支持支持支持
私有仓库 下载代码支持支持支持
私有仓库 拉取代码支持支持支持
推送代码支持支持
上传附件支持支持
删除自己的附件支持支持
删除他人的附件支持
添加仓库成员支持
编辑仓库属性支持

武技:赵四将刘能设置为自己的队友

  1. 在 GitEE 中进入指定仓库,点击 管理 -> 仓库成员管理 -> 开发者
  2. 点击右上角添加仓库成员,点击邀请用户,建议使用复制链接的方式。

E03. 克隆APP项目

1. IDEA克隆项目

武技:刘能使用 IDEA 克隆项目到本地

  1. 点击 VCS -> Git -> Clone... 进入克隆界面:
    1. 输入远程库 URL 地址和项目存放位置。
    2. 一直 Next 直到 Finish 结束,完成 Clone 操作。
    3. 若克隆下来的项目残缺不全,则删除 .idea 文件并重启 IDEA 即可。
  2. 若克隆下来的项目中,src 目录不是蓝色,则需要手动设置:
    1. 如右键 src 目录,选择 Mark Directory As -> Source Root
    2. 如右键 resources 目录,选择 Mark Directory As -> Resources Root
    3. 若是 Maven 项目,直接在 Maven 窗口刷新 Maven 配置即可恢复。

2. GIT克隆项目

武技:刘能使用 Git 命令克隆项目到本地

  1. 在本地新建一个空白目录 D:\git-project
  2. 在目录中右键 Git Bash Here 开启 Git 命令行。
# 完整地将远程项目拷贝到本地
git clone https://gitee.com/coder-joezhou/javabook.git

E04. 推送APP项目

1. IDEA推送代码

武技:刘能使用 IDEA 推送修改后的内容

  1. 新增一个文件 Hello.java,点击文件右键 Git -> Add,表示将该文件 Add 到版本库暂存区。
  2. 编写内容后,使用 Ctrl + k: 将该文件 Commit 到版本库分支。
  3. 使用 Ctrl + T 拉取项目最新版本,避免冲突。
  4. 使用 Ctrl + Shift + K 将代码 Push 到远程库。
  5. 在 GitEE 中查看本次 Push 操作是否成功。

2. GIT推送代码

武技:刘能使用 Git 命令推送修改后的内容

在项目目录新建文件 start.txt,右键 Git Bash Here 开启命令行。

# 查看文件位置,红色表示文件在工作区,绿色表示文件在版本库暂存区
git status

# 将文件添加到版本库暂存区
# 后悔可用 `git rm --cached start.txt` 撤回
git add start.txt

# 将文件提交到版本库分支
# 后悔可用 `rm start.txt` 撤回
git commit -m "信息" start.txt

# 绑定远程仓库: 克隆下来的项目不需要此步骤
git remote add origin https://gitee.com/coder-joezhou/javabook.git

# 查看当前绑定的远程仓库
git remote -v

# 从远程获取项目最新版本,弹日志直接 `:wq` 跳过
git pull origin master --allow-unrelated-histories

# 3条命令强制拉取项目最新版本到本地
git fetch --all; 
git reset --hard origin/master; 
git pull

# 将文件push到远程库 `origin` 的 `master` 分支上
# 需要填写GitEE邮箱和登录密码
git push -u origin master

Java道经第1卷 - 第1阶 - 新手村(一)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值