网站建设技术实现难点能够做代理的网站有哪些问题

当前位置: 首页 > news >正文

网站建设技术实现难点,能够做代理的网站有哪些问题,网站开发 图形验证码,做宣传的网站#x1f389; 为什么会有这篇教程#xff1a;熟悉 IDEA 并能灵活熟练使用 IDEA 能极大提高您的开发效率#xff01;#xff01;#xff01; #x1f4cd; 本文教程基于当前 idea 的最新版本 2023.2.2。 #x1f4cd; 本文教程的所有操作图片均是实操测试截图或 gif 动态… 为什么会有这篇教程熟悉 IDEA 并能灵活熟练使用 IDEA 能极大提高您的开发效率 本文教程基于当前 idea 的最新版本 2023.2.2。 本文教程的所有操作图片均是实操测试截图或 gif 动态演示合计 314 张图片呈现的截图使用的 IDEA 的 Dark 主题。 您的任何设置在配置后记得点击 Apply 或 Ok 进行保存。 本文教程更适用于 IDEA 2023 及以上版本如果您的 IDEA 版本是 2022 及以下由于不同版本 IDEA 操作可能存在一定差异请参考我的另一篇教程2022版IDEA的下载、安装、配置、快捷键与使用。当然如果您的 IDEA 版本是 2022 及以下建议您阅读完 2022 版 IDEA 教程后再来看这篇文章因为相较于 2022 版肯定是增加了更多的实用操作并对内容进一步优化完善。 文章目录 1.认识 IntelliJ IDEA1.1 JetBrains 公司介绍1.2 IntelliJ IDEA 介绍1.3 IDEA 的主要优势vs Eclipse 功能强大 符合人体工程学 1.4 IDEA 的下载 2.IDEA 卸载与安装2.1 卸载过程2.2 安装前的准备系统要求2.3 安装过程2.4 运行 IDEA 3.Hello World 的实现3.1 新建 Project - Class3.2 编写代码3.3 运行 4.JDK 相关设置4.1 项目的 JDK 设置4.2 out 目录和编译版本 5.详细设置5.1 如何打开详细配置界面 显示工具栏 选择详细配置菜单或按钮 5.2 系统设置 默认启动项目配置 取消自动更新 5.3 设置整体主题 选择主题 设置菜单和窗口字体和大小 设置 IDEA 背景图 5.4 设置编辑器主题样式 编辑器主题 字体大小 注释的字体颜色 5.5 显示行号与方法分隔符5.6 代码智能提示功能5.7 自动导包配置 Java 类自动导入 maven 依赖自动导入 5.8 设置项目文件编码必须改5.9 设置控制台的字符编码5.10 修改类头的文档注释信息5.11 设置自动编译5.12 设置为省电模式5.13 取消双击 shift 搜索5.14 是否在单行显式编辑器选项卡与最多打开的标签数5.15 设置 import 显示 * 时的个数5.16 设置 Java 文件注释位置适当代码缩进5.17 设置 XML 文件注释位置适当代码缩进 6.工程与模块管理6.1 IDEA 项目结构6.2 Project 和 Module 的概念6.3 创建 Module6.4 删除模块6.5 导入其他人模块到自己项目6.6 同时打开两个 IDEA 项目工程 在已经打开一个 Project 情况下打开新工程的方式 设置打开方式 7.代码模板的使用7.1 查看 Postfix Completion 模板后缀补全7.2 查看 Live Templates 模板实时代码模板7.3 常用代码模板7.4 自定义代码模板 自定义后缀补全模板 自定义 Live Templates 其它自定义 Live Templates 模板 单元测试模板 创建多线程 冒泡排序 8.快捷键的使用8.1 常用的默认快捷键 日常快捷键 通用型 提高编写速度 类结构、查找和查看源码 查找、替换与关闭 调整格式 Debug 快捷键 8.2 查看快捷键 已知快捷键操作名未知快捷键 已知快捷键不知道对应的操作名 8.3 自定义快捷键 修改运行程序的快捷键 修改多行注释的快捷键⚠️ 注意事项 8.4 使用其它平台快捷键 9.IDEA 断点调试Debug9.1 为什么需要 Debug9.2 设置 Debug 连接方式9.3 Debug 的步骤 添加断点 启动调试 单步调试工具介绍 9.4 多种 Debug 情况介绍 行断点 方法断点 字段断点 条件断点 异常断点 线程调试 强制结束 9.5 自定义调试数据视图9.6 计算表达式9.7 常见问题 10.创建不同类型的工程10.1 创建多模块 Java 工程10.2 创建 Java Web 工程 IDEA 中配置 Tomcat 创建 Web 工程 配置 web 工程 运行服务 乱码的解决 10.3 创建 Maven Java 工程 Maven 的介绍 Maven 的配置 Maven Java 工程的创建 基本的 Maven 命令 10.4 创建 Maven Web 工程 创建 Maven 的 Web 工程步骤 开发 jsp 依赖 jar 包 找不到 HttpServlet 错误 EL 表达式没有提示问题 11.关联数据库11.1 关联方式11.2 常用操作 12.版本控制Version Control12.1 提前安装好 Git 的客户端12.2 关联 git.exe12.3 关联 GitHub 上的账户并测试连接12.4 演示使用 在 GitHub 上创建账户下的一个新的仓库作为测试 支持从当前登录的 Github 账号上直接 Checkout 项目 在 IDEA 中 clone GitHub 上的仓库 本地代码分享到 GitHub 12.5 推送代码到远程仓库 13.IDEA 推荐/常用插件13.1 Alibaba Java Coding Guidelines13.2 jclasslib bytecode viewer13.3 Translation13.4 GenerateAllSetter13.5 Rainbow Brackets Lite - Free and OpenSource13.6 CodeGlance Pro13.7 Statistic13.8 Presentation Assistant13.9 Key Promoter X13.10 JavaDoc13.11 LeetCode Editor13.12 GsonFormatPlus13.13 Material Theme UI13.14 MyBatisX13.15 Chinese (Simplified) Language Pack / 中文语言包 14.实用操作14.1 缓存和索引的清理14.2 本地历史记录的查看14.3 IDEA 中打开文件或文件夹在文件资源管理器中位置14.4 包折叠与分层显示14.5 设置代码界面水平或垂直显示界面分屏显示14.6 获取 java 类的各种路径14.7 定位类在项目或 jar 中的位置 1.认识 IntelliJ IDEA 1.1 JetBrains 公司介绍 IDEA 是 JetBrains 公司的产品该公司成立于 2000 年总部位于捷克的布拉格致力于为开发者打造最高效智能的开发工具。 公司旗下还有其它产品比如 WebStorm用于开发 JavaScript、HTML5、CSS3 等前端技术PyCharm用于开发 pythonPhpStorm用于开发 PHPRubyMine用于开发 Ruby/RailsAppCode用于开发 Objective - C/SwiftCLion用于开发 C/CDataGrip用于开发数据库和 SQLRider用于开发 .NETGoLand用于开发 Go 用于开发 Android 的 Android Studio也是 Google 基于 IDEA 社区版进行迭代的。 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. IntelliJ IDEA 主要用于支持 Java、Scala、Groovy 等语言的开发工具同时具备支持目前主流的技术和框架擅长于企业应用、移动应用和 Web 应用的开发。 1.3 IDEA 的主要优势vs Eclipse 功能强大 强大的整合能力。比如Git、Maven、Spring 等 开箱即用的体验集成版本控制系统、多语言支持的框架随时可用无需额外安装插件。 符合人体工程学 高度智能快速的智能代码补全、实时代码分析、可靠的重构工具提示功能的快速、便捷、范围广好用的快捷键和代码模板精准搜索。 1.4 IDEA 的下载 下载网址 https://www.jetbrains.com.cn/idea/download/?sectionwindows IDEA 分为两个版本旗舰版Ultimate和 社区版Community。两个不同版本的详细对比可以参照官网文档。 IDEA 的大版本每年迭代一次大版本下的小版本如2023.x迭代时间不固定一般每年 3 个小版本。 同时JetBrains 官网也提供了 IDEA 的详细使用文档。 2.IDEA 卸载与安装 2.1 卸载过程 在本机的『设置』找到『应用』搜索『idea』进行卸载即可。 如果需要保留下述数据就不要打 √。如果想彻底删除 IDEA 所有数据那就打上 √。 软件卸载完以后还需要删除其它几个位置的残留 路径C:\Users\【本机用户名】\AppData\Local\JetBrains 路径C:\Users\【本机用户名】\AppData\Roaming\JetBrains
2.2 安装前的准备系统要求 64 位 Windows 10 1809 及更高版本或 Windows Server 2019 及更高版本最低 2 GB 可用 RAM推荐 8 GB 系统总 RAM3.5 GB 硬盘空间推荐 SSD最低屏幕分辨率 1024 x 768。 从安装上来看IntelliJ IDEA 对硬件的要求似乎不是很高。可是在实际开发中并不是这样的因为 IntelliJ IDEA 执行时会有大量的缓存、索引文件。所以如果你正在使用 Eclipse / MyEclipse想通过 IntelliJ IDEA来解决计算机的卡、慢等问题这基本上是不可能的本质上你应该对自己的硬件设备进行升级。 2.3 安装过程 下载完安装包双击 exe 文件直接安装。 欢迎安装。 是否删除电脑上低版本的 IDEA如果有可以选择忽略。如果电脑上没有了低版本的 IDEA则不会出现该步骤。 选择安装目录默认 C 盘尽量更改安装目录改放到 D 盘。 设置 IDEA。 Create Desktop Shortcut创建桌面快捷方式图标建议勾选Update context menu是否将从文件夹打开项目添加至鼠标右键根据需要勾选Create Associationsidea 关联文件格式不推荐勾选由于 idea 是重量级的软件因此打开单个文件一般都是使用如 Sublime Text、EditPlus 等轻量级文本编辑器打开Update PATH variable (restart needed)是否将 IDEA 启动目录添加到环境变量中即可以从命令行中启动 IDEA根据需要勾选。但是我们一般都用自己的即我们在安装 JDK 时都会自己配置好与下载的 JDK 相关联的环境变量。 使用默认的 JetBrains 来管理 IDEA 的相关内容。 安装中。 完成安装重启电脑在点击『Finish』前保证你没有未保存的文件或任务。
2.4 运行 IDEA 双击 IDEA 运行初次点击会弹出“是否导入设置文件”。 是否同意发送用户数据特性、使用的插件、硬件与软件配置等以便于 JetBrains 官方对 IDEA 的继续改进。这里建议选择不发送。 选择『Accept』以信任服务器的证书。 这里由于我有学生教育邮箱并在 JetBrains 进行了申请因此可以直接 JetBrains Accout。 如果你现在是大学生则可以通过申请教育邮箱来获取 IDEA 的免费使用教程参考中南林注册教育邮箱加获取JetBrains个人许可证续订许可证 当然如果你没有教育邮箱则需要参考其它途径获取使用。 3.Hello World 的实现 3.1 新建 Project - Class 打开项目的三种方式 New Project创建一个新项目Open打开一个已有的项目Get from VCS通过版本控制工具可以将 git 托管服务器上的项目拉取到本地并打开。 这里我们选择“New Project” 接着创建 Java 类 3.2 编写代码 public class HelloWorld {public static void main(String[] args) {System.out.println(Hello World);} }在 IDEA 中写完代码后不用手动保存。因为 IDEA 会进行实时代码保存。 3.3 运行 方式一 方式二 方式三使用快捷键 『Ctrl Shift F10』 4.JDK 相关设置 4.1 项目的 JDK 设置 File – Project Structure – Platform Settings – SDKs SDKs 全称是 Software Development Kit即软件开发工具包。这里一定是选择 JDK 的安装根目录不是 JRE 的目录。这里还可以从本地添加多个 JDK。使用“”即可实现。 我们还有另一种方式来查看当前项目使用的 JDK 版本 4.2 out 目录和编译版本 File – Project Structure – Project Settings – Project 5.详细设置 5.1 如何打开详细配置界面 显示工具栏 未勾选与勾选的区别 未勾选的视图展示 勾选的视图展示建议勾选 选择详细配置菜单或按钮 5.2 系统设置 默认启动项目配置 Settings – Appearance Behavior – System Settings 启动 IDEA 时如果你是希望自动打开上次开发的项目则勾选“Reopen last project on startup”这是默认的设置。 如果你希望自己选择打开的项目则取消勾选那么每次启动 IDEA 就会出现如下界面 取消自动更新 Settings – Appearance Behavior – System Settings – Updates 默认都打 √ 了建议检查 IDE 更新的 √ 去掉检查插件更新的 √ 选上。 5.3 设置整体主题 选择主题 Settings – Appearance Behavior – Appearance 设置菜单和窗口字体和大小 Settings – Appearance Behavior – Appearance 设置 IDEA 背景图 Settings – Appearance Behavior – Appearance 效果 如果你不想再使用背景图片则可以如下操作取消背景图 5.4 设置编辑器主题样式 编辑器主题 Settings – Editor – Color Scheme 字体大小 Settings – Editor – General Active editor只对当前代码视图页面生效或者说只对当前所在的视图文件生效All editor所有代码视图页面均会生效。 更详细的字体与颜色设置 Settings – Editor – Color Scheme – * ⚠️ 注意如果选择某个 font 字体发生了中文乱码可以在 fallback font备选字体中选择一个支持中文的字体。 注释的字体颜色 Settings – Editor – Color Scheme – Language Defaults Block comment修改多行注释的字体颜色Doc Comment – Text修改文档注释的字体颜色Line comment修改单行注释的字体颜色。 5.5 显示行号与方法分隔符 Settings – Editor – General – Appearance 效果 5.6 代码智能提示功能 Settings – Editor – General – Code Completion IntelliJ IDEA 的代码提示和补充功能有一个默认特性区分大小写。 如果想不区分大小写的话就把这个勾选去掉。我们建议不勾选。 5.7 自动导包配置 Java 类自动导入 默认需要自己手动导包AltEnter 快捷键。 自动导包设置 动态导入明确的包Add unambiguous imports on the fly该设置具有全局性优化动态导入的包Optimize imports on the fly该设置只对当前项目有效。 Settings – Editor – General – Auto Import maven 依赖自动导入 当我们在 maven 项目中添加或删除依赖时默认需要我们手动刷新一下 pom.xml 的依赖配置进行依赖更新 Project、Module 新创建或 pom.xml 每次修改时都应该让 IDEA 重新加载 Maven 信息。这对 Maven 目录结构认定、Java 源程序编译、依赖 jar 包的导入都有非常关键的影响。这个过程对我们来说是比较繁琐和容易忘记的因此我们建议开启自动导入将这个过程交给 IDEA 来实时监控完成 Settings – Build, Execution, Deployment – Build Tools 此外我们还可以关注一下以下两个设置 Settings – Build, Execution, Deployment – Build Tools – Maven – Importing Automatically download在 Maven 导入依赖包的时候是否自动下载源码和文档。默认是没有勾选的也不建议勾选原因是这样可以加快项目从外网导入依赖包的速度如果我们需要源码和文档的时候我们到时候再针对某个依赖包进行联网下载即可。IntelliJ IDEA 支持直接从公网下载源码和文档的。VM options for importer可以设置导入的 VM 参数。一般这个都不需要主动改除非项目真的导入太慢了我们再增大此参数。 5.8 设置项目文件编码必须改 Settings – Editor – File Encodings Transparent native-to-ascii conversion 主要用于转换 ascii显式原生内容一般都要勾选。否则像 Properties 文件中的注释显示的不会是中文。 5.9 设置控制台的字符编码 Settings – Editor – General – Console 5.10 修改类头的文档注释信息 Settings – Editor – File and Code Templates /**

  • Description:
  • Author 狐狸半面添
  • Create \({DATE} \){TIME}
  • Version 1.0 */将以上配置保存后新建一个 Java 文件就会自动出现我们以上的文档注释 常用的预设的变量 \({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 5.12 设置为省电模式 File -- Power Save Mode IntelliJ IDEA 有一种叫做 省电模式 的状态开启这种模式之后 IntelliJ IDEA 会关掉 代码检查 和 代码提示 等功能。所以一般也可认为这是一种 阅读模式 如果你在开发过程中遇到突然代码文件不能进行检查和提示可以来看看这里是否有开启该功能。在实际开发中我们不推荐开启省电模式。当然如果你是刚学习 Java 的小伙伴可以开启省点模式来练习编写 Java 的能力。 5.13 取消双击 shift 搜索 Settings -- Advanced Settings 因为我们按 shift 切换中英文输入方式经常被按到总是弹出搜索框太麻烦了。因此建议勾选可以取消它。这个强烈推荐 5.14 是否在单行显式编辑器选项卡与最多打开的标签数 Settings -- Editor -- General -- Editor Tabs 我们建议使用多行显示即勾选 Multiple rows。 5.15 设置 import 显示 * 时的个数 Settings -- Editor -- Code Style -- Java 5.16 设置 Java 文件注释位置适当代码缩进 默认情况下我们使用快捷键添加注释都是在行的首列进行添加 但很明显这不是我们想要的。我们希望注释的格式是这样的 因此我们需要设置 Java 文件注释位置适当代码缩进 Settings -- Editor -- Code Style -- Java 此时我们再使用快捷键来添加注释 5.17 设置 XML 文件注释位置适当代码缩进 默认情况下我们使用快捷键添加注释都是在行的首列进行添加 但很明显这不是我们想要的。我们希望注释的格式是这样的 因此我们需要设置 Java 文件注释位置适当代码缩进 Settings -- Editor -- Code Style -- XML 此时我们再使用快捷键来添加注释 6.工程与模块管理 6.1 IDEA 项目结构 层级关系project工程 - module模块 - package包 - class类 具体的 一个 project 中可以创建多个 module一个 module 中可以创建多个 package一个 package 中可以创建多个 class。 这些结构的划分是为了方便管理功能代码。 6.2 Project 和 Module 的概念 在 IntelliJ IDEA 中提出了 Project 和 Module 这两个概念。 在 IntelliJ IDEA 中 Project 是最顶级的结构单元然后就是 Module。目前主流的大型项目结构基本都是多 Module 的结构这类项目一般是按功能划分的比如user-core-module、user-facade-module 和 userhessian-module 等等模块之间彼此可以相互依赖有着不可分割的业务关系。因此对于一个 Project 来说 当为单 Module 项目的时候这个单独的 Module 实际上就是一个 Project当为多 Module 项目的时候多个模块处于同一个 Project 之中此时彼此之间具有 互相依赖 的关联关系当然多个模块没有建立依赖关系的话也可以作为单独一个“小项目”运行。 6.3 创建 Module 建议创建“Empty空工程“然后创建多模块每一个模块可以独立运行相当于一个小项目。JavaSE 阶段不涉及到模块之间的依赖。后期在 JAVAEE 中会学习到模块之间的依赖。 步骤 创建一个空工程。 选择创建模块。 选择模块类型这里选择创建 Java 模块给模块命名确定存放位置。 效果。 6.4 删除模块 移除模块只是将模块从 Project 中移除但并不是从物理磁盘上删除该 module01 文件夹。 彻底删除模块。 6.5 导入其他人模块到自己项目 为了方便演示我们先创建一个空项目 OtherProject在这个空项目中创建一个 other_module 模块然后把这个模块拷贝到我们的 JavaCode 项目中即将 other_module 文件夹拷贝到 JavaCode 文件夹。 接着打开自己 IDEA 的项目会在项目目录下看到拷贝过来的 other_module只不过不是以模块的方式呈现文件图标是“橙色咖啡”。即表示 other_module 还不是本项目的模块。 查看 File -- Project Structure -- Project Settings -- Modules 我们将 other_module 模块导入到本项目 此时再查看 other_module 下的 Hello.java就呈现了正常的 Java 类图标 6.6 同时打开两个 IDEA 项目工程 在已经打开一个 Project 情况下打开新工程的方式 比如我们当前已经在 IDEA 中打开了 JavaCode 项目 这时候需要创建一个新项目或者打开一个已有项目比如打开一个已有项目 OtherProject 我们看下选择“New Window”的效果 设置打开方式 Settings -- Appearance Behavior -- System Settings 7.代码模板的使用 7.1 查看 Postfix Completion 模板后缀补全 Settings -- Editor -- General -- Postfix Completion 后缀补全模板的效果示例以输入 .if 进行演示 7.2 查看 Live Templates 模板实时代码模板 实时代码模板的原理是配置一些常用代码字母缩写在输入简写时可以出现你预定义的固定模式的代码使得开发效率大大提高同时也可以增加个性化。最简单的例子就是在 java 中输入 sout 会出现 System.out.println(); Settings -- Editor -- Live Templates 实时模板的效果示例以输入 main 和 sout 进行演示 7.3 常用代码模板 非空判断 变量.nullif(变量 null)变量.nnif(变量 ! null)变量.notnullif(变量 ! null)ifnif(xx null)innif(xx ! null) 遍历数组和集合 数组或集合变量.forifor 循环数组或集合变量.for增强 for 循环数组或集合变量.forr反向 for 循环数组或集合变量.iter增强 for 循环遍历数组或集合 输出语句 sout相当于 System.out.printlnsoutm打印当前方法的名称soutp打印当前方法的形参及形参对应的实参值soutv打印方法中声明的最近的变量的值变量.sout打印当前变量值变量.soutv打印当前变量名及变量值 对象操作 创建对象 Xxx.new .var 创建 Xxx 类的对象并赋给相应的变量Xxx.new .field会将方法内刚创建的 Xxx 对象抽取为一个属性 强转 对象.cast将对象进行强转对象.castvar将对象强转后并赋给一个变量 静态常量声明 psfpublic static finalpsfipublic static final intpsfspublic static final Stringprsfprivate static final 7.4 自定义代码模板 自定义后缀补全模板 Settings -- Editor -- General -- Postfix Completion 例如输入 String.list回车后生成 ListString new ArrayList();演示效果 自定义 Live Templates Settings -- Editor -- Live Templates 例如定义 say 代表 System.out.print(); 语句。 在 Live Templates 中增加模板需要先定义一个模板的组这样方便管理我们所有自定义的代码模板。 在模板组里新建模板。 定义模板生效的语言。 定义模板其它内容 Abbreviation模板的缩略名称Description模板的描述Template text模板的代码片段模板应用范围比如点击 Define选择应用在 java 代码中。 效果演示 其它自定义 Live Templates 模板 单元测试模板 Test public void test\)var1\((){\)var2\( }效果演示 创建多线程 new Thread() {public void run() {\)var\(} }效果演示 冒泡排序 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;}} }效果演示 8.快捷键的使用 8.1 常用的默认快捷键 日常快捷键 通用型 说明快捷键复制代码-copyctrl c粘贴-pastectrl v剪切-cutctrl x撤销-undoctrl z反撤销-redoctrl shift z保存-save allctrl s全选-select allctrl a 提高编写速度 说明快捷键智能提示-editalt enter提示代码模板-insert live templatectrl j使用 xx 块环绕-surround with …ctrl alt t调出生成 getter/setter/构造器 等结构-generate …alt insert自动生成返回值变量-introduce with …ctrl alt v复制并拷贝指定行的代码-duplicate line or selectionctrl d删除指定行的代码-delete linectrl y切换到下一行代码空位-start new lineshift enter切换到上一行代码空位-start new line before currentctrl alt enter向上移动代码-move statement upctrl shift ↑向下移动代码-move statement downctrl shift ↓向上移动一行-move line upalt shift ↑向下移动一行-move line downalt shift ↓方法的形参列表提醒-parameter infoctrl p批量修改指定的变量名、方法名、类名等-renameshift f6抽取代码重构方法-extract method …ctrl alt m重写父类的方法-override methods …ctrl o实现接口的方法-implements methods …ctrl i选中的结构的大小写的切换-toggle casectrl shift u批量导包-optimize importsctrl alt o 类结构、查找和查看源码 说明快捷键如何查看源码-go to class …ctrl 选中指定的结构 或 ctrl n 搜索显示当前类结构支持搜索指定的方法、属性等-file structurectrl f12退回到前一个编辑的页面-backctrl alt ←进入到下一个编辑的页面-forwardctrl alt →打开的类文件之间切换-select previous/next tabalt ←/→光标选中指定的类查看继承树结构-Type Hierarchyctrl h查看方法文档-quick documentationctrl q类的 UML 关系图-show uml popupctrl alt u定位某行-go to line/columnctrl g回溯变量或方法的来源-go to implementation(s)ctrl alt b折叠方法实现-collapse allctrl shift -展开方法实现-expand allctrl shift 查找、替换与关闭 说明快捷键查找指定的结构ctrl f快速查找选中的 Word 快速定位到下一个-find nextctrl l查找与替换-replacectrl r直接定位到当前行的首位-move caret to line startctrl home直接定位到当前行的末位-move caret to line endctrl end查询当前元素在当前文件中的引用然后按 F3 可以选择ctrl f7全项目搜索文本-find in path …ctrl shift f关闭当前窗口-closectrl f4 调整格式 说明快捷键格式化代码-reformat codectrl alt l使用单行注释-comment with line commentctrl /使用/取消多行注释-comment with block commentctrl shift /选中数行整体往后移动-tabtab选中数行整体往前移动-prev tabshift tab Debug 快捷键 说明快捷键单步调试不进入函数内部-step overF8单步调试进入函数内部-step intoF7强制单步调试进入函数内部-force step intoalt shift f7选择要进入的函数-smart step intoshift F7跳出函数-step outshift F8运行到断点-run to cursoralt F9继续执行进入下一个断点或执行完程序-resume programF9停止-stopctrl F2查看断点-view breakpointsctrl shift F8关闭 - closectrl F4 8.2 查看快捷键 Settings -- Keymap 已知快捷键操作名未知快捷键 已知快捷键不知道对应的操作名 8.3 自定义快捷键 修改运行程序的快捷键 我们先去观察下运行程序的默认快捷键 因此我们已知快捷键 ctrl shift f10 去搜索 那么我们这里先添加新的快捷键 alt r再把把 ctrl shift f10 快捷键移除。 这是再观察提示的快捷键就变成了 alt r并且可以生效 修改多行注释的快捷键 我们这次通过操作名 comment with block comment 进行搜索 直接添加快捷键 ctrl alt /就不移除原来的了。 选中一段代码按 ctrl alt /发现是可以生效的 ⚠️ 注意事项 我们修改快捷键后idea 会为我们生成一套基于 默认配置 自定义配置 的新配置方案如下图 也就是说我们所有的自定义配置需要在 windows copy 配置方案中进行修改并将我们的配置方案切换到 windows copy你的自定义配置才能生效。 你也可以对自己的新配置方案进行一系列其它操作 8.4 使用其它平台快捷键 苹果电脑或者是用惯 Eclipse、Visual Studio 等快捷的可以选择其他快捷键插件。 9.IDEA 断点调试Debug 9.1 为什么需要 Debug 编好的程序在执行过程中如果出现错误该如何查找或定位错误呢简单的代码直接就可以看出来但如果代码比较复杂就需要借助程序调试来查找错误了。 运行编写好的程序时可能出现的几种情况 情况 1没有任何 bug程序执行正确情况 2运行以后出现了错误或异常信息。但是通过日志文件或控制台显示了异常信息的位置情况 3运行以后得到了结果但是结果不是我们想要的情况 4运行以后得到了结果结果大概率是我们想要的。但是多次运行的话可能会出现不是我们想要的情况。比如多线程情况下处理线程安全问题。 如果出现了情况 2、3、4都又必要使用 debug。 9.2 设置 Debug 连接方式 默认是 Socket。Shared memory 是 Windows 特有的一个属性一般在 Windows 系统下建议使用此设置内存占用相对较少。 Settings -- Build, Execution, Deployment -- Debugger 9.3 Debug 的步骤 Debug调试程序步骤如下 添加断点启动调试单步执行观察变量和执行流程找到并解决问题。 添加断点 在源代码文件中在想要设置断点的代码行的前面的标记行处单击鼠标左键就可以设置断点在相同位置再次单击即可取消断点。 添加与取消断点演示 启动调试 IDEA 提供多种方式来启动程序Launch的调试分别是通过菜单Run – Debug)、图标(“绿色臭虫” )等等。 单步调试工具介绍 在默认情况下显示的调试工具并不全 我们可以先对调试工具栏做处理 Step OverF8进入下一步如果当前行断点是调用一个方法则不进入当前方法体内Step IntoF7进入下一步如果当前行断点是调用一个自定义方法则进入该方法体内Force Step IntoAlt Shift F7进入下一步如果当前行断点是调用一个核心类库方法则进入该方法体内Step OutShift F8跳出当前方法体Run to CursorAlt F9直接跳到光标处继续调试Resume ProgramF9恢复程序运行但如果该断点下面代码还有断点则停在下一个断点上StopCtrl F2结束调试View BreakpointsCtrl Shift F8查看所有断点Mute Breakpoints使得当前代码后面所有的断点失效 一下执行到底。 说明在 Debug 过程中可以动态的下断点。 9.4 多种 Debug 情况介绍 行断点 断点打在代码所在的行上。执行到此行时会停下来。 方法断点 断点设置在方法的签名上默认当进入时断点可以被唤醒也可以设置在方法退出时断点也被唤醒。 在多态的场景下在父类或接口的方法上打断点会自动调入到子类或实现类的方法。 public class DebugDemo {public static void main(String[] args) {Person person new Man();person.show();}}class Person {// 在此方法的签名处加断点public void show() {System.out.println(Person);} }class Man extends Person {Overridepublic void show() {System.out.println(man);} }字段断点 在类的属性声明上打断点默认对属性的修改操作进行监控只有默认初始化不会被监控显示初始化、构造器初始化、set 等都会被监控。 默认情况下是监听属性的修改我们也可以去监听属性的调用使用只需要在“红色眼睛”处鼠标右击弹出的编辑框中勾选“Field access”即可。 条件断点 针对以下代码在满足 i 3 的条件下执行断点。 异常断点 对异常进行跟踪。如果程序出现指定异常程序就会执行断点自动停住。 这里以监听 ArithmeticException 为例 添加异常断点 debug 演示 线程调试 public class DebugDemo {public static void main(String[] args) {test(thread1);test(thread2);}public static void test(String threadName) {new Thread(() - {// 在此处加断点for (int i 0; i 100; i) {System.out.println(Thread.currentThread().getName() : i);}},threadName);}}在断点处添加条件“thread2”.equals(Thread.currentThread().getName()) 当 debug 执行程序时thread1 线程会正常执行但 thread2 会被卡住。 强制结束 控制台打印 获取请求的数据 调用写入数据库的方法 进入insert()方法 获取数据库连接 程序结束可以看到insert 方法强制结束执行强制执行相当于方法 return 了但 main 方法依旧会继续执行。 9.5 自定义调试数据视图 public class DebugDemo {public static void main(String[] args) {HashMapInteger, String map new HashMap();map.put(1, 狐狸半面添);// 在此处加断点此时已经将 1-狐狸半面添 加入了 map 中map.put(2, https://www.zhulang.love);System.out.println(map);}}默认情况下 debug 的展示 我们也可以自定义展示的数据结构 此时再看 map 结构就是清晰的原始 map 数据结构 9.6 计算表达式 9.7 常见问题 force step into 和 step into 的区别step into 不会进入到 JDK 实现的方法中而 force step into 会进入到 JDK 实现的方法中。force step into 可以进入到任何方法中单步执行。 那么使用 Step Into 时会出现无法进入源码的情况。如何解决 方案1使用 force step into 即可 方案2点击 Setting - Build,Execution,Deployment - Debugger - Stepping。把 Do not step into the classess 中的 java.*、javax.* 取消勾选即可。 初学者对于在哪里加断点缺乏经验这也是调试程序最麻烦的地方需要一定的经验。简单来说在可能发生错误的代码的前面加断点。如果不会判断就在程序执行的起点处加断点。 10.创建不同类型的工程 10.1 创建多模块 Java 工程 在工程上鼠标右击 - New - Module 指明 Java 工程的名称及使用的 JDK 版本 10.2 创建 Java Web 工程 ⚠️ 注意不同版本的 IDEA创建 Java Web 工程的方式可能会有所不同。 IDEA 中配置 Tomcat 在 IDEA 中配置 Tomcat 之前需要保证已经下载并解压了 Tomcat 到磁盘。 接下来我们在 IDEA 中配置 Tomcat Settings -- Build, Execution, Deployment -- Application Servers 配置 Tomcat Server 的位置根据自己 Tomcat 在磁盘上的安装位置决定 创建 Web 工程 我们先创建一个普通项目或模块命名为 javaweb02 为当前项目或模块添加模块支持 Project Structure -- Project Settings -- Facets 此时我们再来看项目或模块结构 为了稍后方便测试我们在 web 文件夹下新增一个 index.jsp 文件 %--Created by IntelliJ IDEA.User: 狐狸半面添Date: 2023/10/6Time: 17:08To change this template use File | Settings | File Templates. --% % page contentTypetext/html;charsetUTF-8 languagejava % html headtitle狐狸半面添的客栈/title /head body 欢迎来到a hrefhttps://www.zhulang.love target_blank狐狸半面添的客栈/a持续的实战开发技术分享与编程指南。 /body /html配置 web 工程 运行服务 浏览器访问http://localhost:8080/javaweb02_Web_exploded/ 乱码的解决 如果 Tomcat 日志出现乱码 解决方案 点击 Help -- Edit custom VM Options 在文件最后面添加-Dfile.encodingUTF-8 在当前 Tomcat 实例中配置 VM option添加-Dfile.encodingUTF-8 在当前 Tomcat 实例配置界面的 Startup/Connection 页签的 Run 和 Debug 添加一个 key 为 JAVA_TOOL_OPTIONSvalue 为 -Dfile.encodingUTF-8 的环境变量。 重启 IDEA 启动服务。 10.3 创建 Maven Java 工程 Maven 的介绍 Maven 是一款自动化构建工具专注服务于 Java 平台的 项目构建 和 依赖管理 。在 JavaEE 开发的历史上构建工具的发展也经历了一系列的演化和变迁Make -- Ant -- Maven -- Gradle -- 其他…… 构建环节 清理删除以前的编译结果为重新编译做好准备。编译将 Java 源程序编译为字节码文件。测试运行单元测试用例程序确保项目在迭代开发过程中关键点的正确性。报告测试程序的结果。打包将 Java 项目打成 jar 包将 Web 项目打成 war 包。安装将 jar 包或 war 包安装到本地仓库中。部署将 jar 或 war 从 Maven 仓库中部署到 Web 服务器上运行。 Maven 的配置 Maven 详细配置教程maven配置阿里镜像与本地仓库解决IDEA配置maven恢复默认配置问题-CSDN博客 Settings -- Build, Execution, Deployment -- Build Tools -- Maven 选择自己 Maven 的目录 和 settings 文件然后配置自己的仓库 reposiroty。 Maven Java 工程的创建 指明当前 maven 工程的名称、模板等信息。这里要求一个项目组的 jdk 版本必须一致。 通过坐标就可以定位仓库中具体的 jar 包。如下 运行 App.java 即可。 当然我们还需要补全 test 文件夹 和 resources 文件夹并将 resources 文件夹 mark Directory as 设置为 Resources Root。 Maven 的 java 工程的目录结构 src ----main --------java --------resources ----test --------java --------resources pom.xmlmain 目录用于存放主程序test 目录用于存放测试程序java 目录用于存放源代码文件resources 目录用于存放配置文件和资源文件 基本的 Maven 命令 目录下也会有对应的生命周期。其中常用的是clean、compile、package、install。 比如这里 install如果其他项目需要将这里的模块作为依赖使用那就可以 install。安装到本地仓库的位置。 10.4 创建 Maven Web 工程 创建 Maven 的 Web 工程步骤 指明 Maven 的 web 工程的名称和模板。 配置 Tomcat 开发 jsp 依赖 jar 包 找不到 HttpServlet 错误 如果看到 JSP 报错The superclass “javax.servlet.http.HttpServlet” was not found onthe Java Build Path. 可以加入如下依赖解决。 dependencygroupIdjavax.servlet/groupIdartifactIdservlet-api/artifactIdversion2.5/versionscopeprovided/scope /dependencyEL 表达式没有提示问题 \){pageContext} 这个EL表达式中通过 pageContext 对象访问 reuqest 属性时本身是应该有提示的但如果没有的话加入下面依赖即可。 dependencygroupIdjavax.servlet.jsp/groupIdartifactIdjsp-api/artifactIdversion2.1.3-b06/versionscopeprovided/scope /dependency同时针对 index.jsp 文件修改一下文件头信息为 %page languagejava pageEncodingutf-8 contentTypetext/html;UTF-8 %11.关联数据库 前提说明想要关联数据库首先你需要在自己的本机电脑或服务器上有数据库系统如果你还没有在本机上安装过 MySQL可以参考MySQL下载与安装、mysql服务启动与停止、mysql使用cmd命令行登录、SQLyog下载与安装sqlyog登录与操作mysql_cmd命令启动sqlyog服务-CSDN博客 11.1 关联方式 添加指定数据库 配置 MySQL 数据库的详细信息 表面上很多人认为配置 Database 就是为了有一个 GUI 管理数据库功能但是这并不是 IntelliJ IDEA 的 Database 最重要特性。数据库的 GUI 工具有很多IntelliJ IDEA 的 Database 也没有太明显的优势。 IntelliJ IDEA 的 Database 最大特性就是对于 Java Web 项目来讲常使用的 ORM 框架如 Hibernate、Mybatis 有很好的支持比如配置好了 Database 之后IntelliJ IDEA 会自动识别 domain 对象与数据表的关系也可以通过 Database 的数据表直接生成 domain 对象等。 11.2 常用操作 图标1同步当前的数据库连接。这个是最重要的操作。配置好连接以后或通过其他工具操作数据库以后需要及时同步图标2配置当前的连接图标3断开当前的连接图标4显示相应数据库对象的数据图标5编辑修改当前数据库对象。 展示 ER 图 支持将 ER 图导出为文件 12.版本控制Version Control 不管是个人开发还是团队开发版本控制都会被使用。而 IDEA 也很好的集成了版本控制的相关结构。 很多人认为 IntelliJ IDEA 自带了 SVN 或是 Git 等版本控制工具认为只要安装了 IntelliJ IDEA 就可以完全使用版本控制应有的功能。这完全是一种错误的解读IntelliJ IDEA 是自带对这些版本控制工具的插件支持但是该装什么版本控制客户端还是要照样装的。 IntelliJ IDEA 对版本控制的支持是以插件化的方式来实现的。旗舰版默认支持目前主流的版本控制软件CVS、SubversionSVN、Git、Mercurial、Perforce、TFS。又因为目前太多人使用 Github 进行协同或是项目版本管理 所以 IntelliJ IDEA 同时自带了 Github 插件方便 Checkout 和管理你的 Github 项目。 在实际开发中发现在 IDEA 中使用 SVN 的经历不算愉快经常会遇到很多问题比如紧急情况下 IDEA 无法更新、提交等。所以这里谈下在 IDEA 中使用 Git。 12.1 提前安装好 Git 的客户端 Git下载与安装教程git介绍安装手把手命令与使用包含IDEA操作githubgitee的万字图文详述_是谢添啊的博客-CSDN博客 12.2 关联 git.exe Settings – Version Control – Git 12.3 关联 GitHub 上的账户并测试连接 Settings – Version Control – GitHub 进行登录 配置信息将 Expiration 设置为 No expiration并全部勾选 全部勾选后点击 Generate token 12.4 演示使用 在 GitHub 上创建账户下的一个新的仓库作为测试 创建成功 支持从当前登录的 Github 账号上直接 Checkout 项目 在 IDEA 中 clone GitHub 上的仓库 将上图复制得到的 url 粘贴至 idea 中 成功拉取到本地 本地代码分享到 GitHub 此时会在 GitHub 上创建一个新的仓库而非更新已经存在的仓库。 查看一下我们的 GitHub 仓库 12.5 推送代码到远程仓库 clone拷贝远程仓库commit本地提交push远程提交pull更新到本地 例如我们在 IDEA 中更新了代码想要推送到远程仓库可进行如下仓库 13.IDEA 推荐/常用插件 IDEA 本身很多功能也都是通过插件的方式来实现的。IDEA 已经内置了许多默认的插件。 在国内的网络下经常出现显示不了插件列表或者显示了插件列表但无法完成下载安装的情况。这时候你需要自行打开 VPN一般都可以得到解决。 13.1 Alibaba Java Coding Guidelines 阿里巴巴 Java 编码规范检查插件检测代码是否存在问题以及是否符合规范。 使用在类中鼠标右键选择编码规约扫描在下方显示扫描规约和提示。根据提示规范代码提高代码质量。 遗憾的是目前最新版本的阿里巴巴规范插件仍会时不时报错 所以我们先卸载刚才安装的阿里巴巴规范插件 再去安装并使用 Alibaba Java Coding Guidelines(Fix Some Bug) 由于该插件只是对阿里巴巴规范插件进行了 bug 修复因此使用方式是一样的。我们鼠标右击点击“编码规范扫描”可以看到更详细的规范说明 13.2 jclasslib bytecode viewer 可视化的字节码查看器。 使用 在 IDEA 打开想研究的类。 编译该类或者直接编译整个项目 如果想研究的类在 jar 包中此步可略过。也可以选择运行一次该项目。目的是得到类的字节码文件给插件进行分析使用。 打开“view”菜单选择“Show Bytecode With jclasslib” 选项。 选择上述菜单项后 IDEA 中会弹出 jclasslib 工具窗口。
    英文设置 打开 Help – Edit Custom VM Options … 加上英文配置-Duser.languageen 重启 IDEA再次查看 jclasslib 工具窗口。
    13.3 Translation 插件生效步骤 Settings – Tools – Translation 设置翻译服务商这里以 Youdao Translate有道翻译 为例。注意不要使用 Google Translate因为谷歌已经停止了对中国大陆的翻译服务。 注册翻译服务有道智云、百度翻译开放平台、阿里云机器翻译帐号开通翻译服务并获取其应用 ID 和 密钥。 将 ID 与 密钥 配置到 IDEA。
    使用鼠标选中文本点击右键即可自动翻译成多国语言。想使用该插件进行翻译需要联网 13.4 GenerateAllSetter 实际开发中还有一个非常常见的场景 我们创建一个对象后想依次调用 Setter 函数对属性赋值如果属性较多很容易遗漏或者重复。 可以使用这 GenerateAllSetter 提供的功能快速生成对象的所有 Setter 函数可填充默认值/ Getter 函数然后自己再跟进实际需求设置属性值。 13.5 Rainbow Brackets Lite - Free and OpenSource 给括号添加彩虹色使开发者通过颜色区分括号嵌套层级便于阅读。 13.6 CodeGlance Pro 在编辑器右侧生成代码小地图可以拖拽小地图光标快速定位代码阅读行数很多的代码文件时非常实用。 13.7 Statistic 代码统计工具。 13.8 Presentation Assistant 实时显示使用的快捷键操作的按键。对开发者没有多大作用主要适用于讲课人员 13.9 Key Promoter X 快捷键提示插件。当你执行鼠标操作时如果该操作可被快捷键代替会在界面右下角提示帮助你自然形成使用快捷键的习惯告别死记硬背。适用于 IDEA 新手 同时我们在右边的工具栏可以看到快捷键提示历史 13.10 JavaDoc 添加文档注释按 altinsert执行操作 13.11 LeetCode Editor 在 IDEA 里刷力扣算法题。 我们需要先配置一下 LeeCode 的用户信息 Settings – Tools – LeeCode Plugin 刷新题目 获取题目信息 账号登录用户名和密码使用的是前几步在 Settings 中配置的只有登录账号才能提交我们的代码 13.12 GsonFormatPlus 根据 json 生成对象。 使用快捷键 alt s 或 alt insert 调取。 生成的字段设置 将如下信息拷贝到 JSON 区域 {name: 狐狸半面添,age: 20,gender: 男,hometown: {province: 湖南省,city: 湘潭市,county: 湘潭县} }效果 13.13 Material Theme UI 对于很多人而言写代码时略显枯燥的如果能够安装自己喜欢的主题将为开发工作带来些许乐趣。IDEA 支持各种主题插件其中最出名的当属 Material Theme UI。 13.14 MyBatisX 该插件配合 mybatis 框架进行使用。作用是将 xml 与 接口关联可以快速开发、生成代码与进行跳转。 13.15 Chinese (Simplified) Language Pack / 中文语言包 IDEA 默认是英文界面安装此插件可以设置为中文界面。很多新手比较喜欢对 IDEA 进行汉化但我们并不推荐。在开发者社区和官方文档中大部分的学习资源和教程都是基于英文版本的 IntelliJ IDEA。如果使用汉化版本可能会面临资源匮乏、文档不全或者难以获取帮助的问题。 因此此插件建议不使用程序员应该慢慢去适应英文界面。 14.实用操作 14.1 缓存和索引的清理 IntelliJ IDEA 首次加载项目的时候都会创建索引而创建索引的时间跟项目的文件多少成正比。在 IntelliJ IDEA 创建索引过程中即使你编辑了代码也是编译不了、运行不起来的所以还是安安静静等 IntelliJ IDEA 创建索引完成。 IntelliJ IDEA 的缓存和索引主要是用来加快文件查询从而加快各种查找、代码提示等操作的速度所以 IntelliJ IDEA 的索引的重要性再强调一次也不为过。但是IntelliJ IDEA 的索引和缓存并不是一直会良好地支持 IntelliJ IDEA 的 某些特殊条件下IntelliJ IDEA 的缓存和索引文件也是会损坏的比如断电、蓝屏引起的强制关机当你重新打开 IntelliJ IDEA很可能 IntelliJ IDEA 会报各种莫名其妙错误甚至项目打不开IntelliJ IDEA 主题还原成默认状态。即使没有断电、蓝屏也会有莫名奇怪的问题的时候也很有可能是 IntelliJ IDEA 缓存和索引出现了问题这种情况还不少。遇到此类问题也不用过多担心。我们可以清理缓存和索引。如下 清除缓存、索引本质也就是去删除 C 盘下的 system 目录下的对应的文件而已所以如果你不用上述方法也可以删除整个 system。当 IntelliJ IDEA 再次启动项目的时候会重新创建新的 system 目录以及对应项目缓存和索引。 14.2 本地历史记录的查看 即使我们项目没有使用版本控制功能IntelliJ IDEA 也给我们提供了本地文件历史记录。无论是文件夹还是单个文件都具备查看操作历史的功能。 14.3 IDEA 中打开文件或文件夹在文件资源管理器中位置 14.4 包折叠与分层显示 包折叠实际指的是“Compact Middle Packages紧凑型中间包”结构即 如果我们想让这几层包进行分层显示就需要 14.5 设置代码界面水平或垂直显示界面分屏显示 Split Right将该标签页分离到右边但在左边依旧会保留该标签页。Split and Move Right将该标签页分离到右边在左边不会保留该标签页。Split Down将该标签页分离到下面但在上面依旧会保留该标签页。Split and Move Down将该标签页分离到下面在上面不会保留该标签页。 水平显示 当然你也可以手动进行分屏例如 14.6 获取 java 类的各种路径 14.7 定位类在项目或 jar 中的位置 比如我想定位 Map 在 jar 包中的位置我可以先进入到 Map 的源码文件然后点击 Select Opened File 图标进行定位