初识IDEA
一、IDEA简介
IDEA 全称 IntelliJ IDEA,是 JAVA编程语言开发的集成环境。IntelliJ 在业界被公认为最好的 java开发⼯具 之⼀,尤其在智能代码助⼿、代码⾃动提示、重构、J2EE⽀持、Ant、JUnit、CVS整合、代码审 查⽅⾯。 JetBrains官⽹ : JetBrains: Essential tools for software developers and teams
IDEA分商业版ultimate和社区版community;商业版是收费的,功能⽐较完善;社区版是 免费的,功能稍弱。
二、常用快捷键
| F7 | 进方法 |
| F8 | 往下执行 |
| F9 | 跳过 |
| shift+shift | 强大的搜索功能(搜什么都可以找到) |
| Ctrl+N | 按照类名搜索类 |
| Alt+Insert | 可以生成构造器/getter/setter/... |
| Alt+Enter | 导入包 |
| Ctrl+Alt+T | 可以把代码包在一个块内,例如:try/catch |
| Ctrl+X | 删除行(直接删) |
| Ctrl+D | 复制行(复制在被复制行的下一行) |
| Ctrl+Y | 删除行(会弹窗再次询问) |
| Ctrl+/ | 单行注释 |
| Ctrl+Shift+/ | 多行注释 |
| Ctrl+H | 显示类结构图(类的继承层次) |
| Ctrl+Alt+B | 跳转到方法实现处 |
| Ctrl+O | 重写方法 |
| psvm | 生成 main 主函数 |
| sout | System.out.println() |
| Ctrl+Alt+L | 一件格式化代码(需关闭qq相同热键) |
| Ctrl+shift+R | 全局搜索替换 |
| Ctrl+R | 替换文本 |
| Ctrl+F | 查找文本 |
| Shift+F6 | 重构--重命名 |
| Alt+left/right | 切换代码视图 |
| Alt+Up/Down | 在方法间快速移动定位 |
| itar | 生成 array for 代码块 |
| itli | 生成 List 的遍历 |
| iter | 生成增强 for循环 |
| Ctrl+J | 查看更多 |
三、多模块编程
IDEA 与 eclipse 区别 ?
IDEA 与 eclipse 不同,eclipse 中有 workspace 的概念,IDEA 中没有,IDEA 的根目录就是 project ,若思想是在 IDEA 中像 eclipse 中同时操作多个 project 只能通过新建多个 module 的方式。
IDEA 取消工作空间原因 ?
IDEA 不需要工作空间,因为每一个 Project 都具备一个工作空间 ,对于每一个 IDEA 的项目工程 (project) ,它的每一个子模块 (Module) 都可以使用独立的 JDK 和 Maven 配置。这对于传统项目迈向新项目的重构添加了极大的便利性,这种多元化的灵活性正是 Eclipse 所没有的,因为 Eclipse 在初次使用时已经绑定了工作空间。
IDEA 子工程为什么叫 Module ?
其实这就是模块化的概念,作为聚合工程或者普通工程的根目录,它称为 Project ,Project 下面的子工程称为模块,每一个模块之间可以相关联,也可以不关联。

四、Maven 相较 Eclipse 在导 Jar包 方面的优势
eclipse 需要在新建项目右击-new-Folder-创建 lib 文件夹,手动找需要的 Jar包下载复制到 lib 文件夹,然后 Build Path才算导入成功,每需要一个 jar包就需要导一次,比较麻烦
IDEA 的 Maven 它是 JAVA项目的一个便携的管理工具,不需要我们手动导 jar包,它有一个 pom.xml 文件,我们只需要在 pom.xml 文件中添加相对应的 jar包 的坐标位置,它会自动在专门存放 jar包的仓库中找到 jar包(在pom.xml坐标写好后,它先去本地仓库找,找不到去私服仓库找,还找不到就去中央仓库找)自动添加,直接可以运行。
仓库
仓库:用于存储资源,包含各种 jar包。有三类仓库:
本地仓库:自己电脑的磁盘上
私服仓库:公司自己提供的仓库
中央仓库:maven默认下载的仓库地址
五、实例
创建项目,测试 pom.xml 自动导 jar包效果——是否可以连接到mySql数据库
(一)新建一个 Maven 项目

(二)选择 maven ,单击右下角 next

(三)给项目起名,选择保存路径,填写组织名称,然后 finish

Name <======> 给项目起名,随便起名(我的项目名叫 Demo001 )
选择保存路径 <======> 自己选一个磁盘固定位置专门保存 Project 文件
填写组织名称 <======> 可以用默认的,也可以自己起名
(四)项目创建成功后,会出现 pom.xml 文件打开界面

(五)添加想要的 jar包的坐标
<?xml version="1.0" encoding="UTF-8"?>
<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.0</modelVersion><!-- 注释内容 --><!-- 以下是maven项目信息 --><!-- groupId 组织名称 --><groupId>com.apesource</groupId><!-- artifactId 项目名称 --><artifactId>Demo001</artifactId><!-- version 版本 --><version>1.0-SNAPSHOT</version><!-- 添加坐标 --><dependencies><!-- 我们想要测试连接到 mySQL 数据库,我们就需要添加 mysql 的坐标 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.28</version></dependency></dependencies></project>

注意:写多个坐标时,就在<dependencies></dependencies>中
写多个<dependency></dependency>
<dependencies>
<dependency>
<groupId>组织名称</groupId>
<artifactId>项目名称</artifactId>
<version>版本</version>
</dependency>
<dependency>
<groupId>组织名称</groupId>
<artifactId>项目名称</artifactId>
<version>版本</version>
</dependency>
</dependencies>
如何检查是否成功?
mop.xml 窗口右边有个Maven,点击找到 Demo001 项目,点击项目左侧小三角,看到 dependencies 并且不报错即导入成功!
(六)在 src 下的 main 下的 java 包中建立一个包,包里新建个测试类
我就建立了一个 com.apesource 包,com.apesource 包下有一个 test 测试类


(七)测试类写连接 mysql 的代码,并运行
package com.apesource;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;public class test {public static void main(String[] args) {try {Class.forName("com.mysql.cj.jdbc.Driver");Connection root = DriverManager.getConnection("jdbc:mysql://localhost:3306/myschoolxxx?serverTimezone=GMT", "root", "123456");System.out.println(root);} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException throwables) {throwables.printStackTrace();}}
}
代码运行结果:连接成功

相关文章:
初识IDEA
一、IDEA简介 IDEA 全称 IntelliJ IDEA,是 JAVA编程语言开发的集成环境。IntelliJ 在业界被公认为最好的 java开发⼯具 之⼀,尤其在智能代码助⼿、代码⾃动提示、重构、J2EE⽀持、Ant、JUnit、CVS整合、代码审 查⽅⾯。 JetBrains官⽹ : JetBrains: Esse…...
zigbee笔记:十、ZStack(2.3.0-1.4.0)的OSAL使用分析
zigbee笔记:九中,我们已经学会了利用模板,定制自己的个性开发工程,本文为协议栈(ZStack-CC2530-2.3.0-1.4.0)代码使用分析笔记,来进一步掌握协议栈的使用。 一、协议栈使用知识点 1、协调器、路…...
SpringBoot响应式编程(1)Reactor核心
一、概述 1.1介绍 Reactor 是一个用于JVM的完全非阻塞的响应式编程框架,Webflux 底层使用的也是该框架,其通过流的方式实现了异步相应,具备高效的需求管理(即对 “背压(backpressure)”的控制)…...
Java后端处理前端字符串与 JSON 数据:安全拼接与转义技巧
在现代 Web 开发中,前后端数据交互是家常便饭。我们经常需要处理前端传递的字符串和 JSON 数据,并在后端进行加工处理后发送到其他服务。本文将以 Spring Boot 为例,探讨如何安全地拼接字符串和 JSON 数据,并介绍如何避免 JSON 特…...
一文搞懂bfs,dfs和高级图算法
你以为BFS(广度优先搜索)和DFS(深度优先搜索)这两种基础算法,简单到小学数学就能搞定?但真的是这样吗?很多人都这么认为,但真的对吗?今天,我们不只是走马观花…...
【Rust光年纪】Rust异步编程利器:异步DNS、高性能Web服务器一网打尽
构建高效网络应用必备:解读Rust异步编程神器 前言 Rust 是一种快速流行的系统编程语言,它以其内存安全和并发性能而闻名。在 Rust 生态系统中,有许多优秀的库和框架可以帮助开发者构建高性能、可靠的应用程序。本文将介绍几个在 Rust 中备受…...
04学生管理系统(栈)
文章目录 预处理菜单结构体主函数函数声明栈操作功能实现 预处理 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> #include<windows.h> #include<conio.h>#define OVERFLOW -2 #define FALSE 0 #define TRUE 1 #define OK 1 …...
我们如何在centos上部署批量管理工具ansible
1)我们先准备环境、设备 #我们准备一台服务机 (192.168.61.140) #然后准备几天客户机(192.168.61.141 192.168.61.142)这里我们准备两台2)然后我们在客服务机里面添加域名 vi /etc/hosts #添加如下内容 192.…...
如何评估前端代码审查培训计划的有效性?
评估前端代码审查培训计划的有效性可以通过以下方法: 培训前后测试: 在培训前后对学员进行测试,比较结果以评估知识增长。 学员反馈: 通过问卷调查、访谈或开放式反馈收集学员对培训内容、方式和效果的看法。 参与度:…...
使用nvm切换Node.js版本
一、安装nvm nvm(Node Version Manager)是一个用于管理Node.js版本的工具,它允许你在同一台机器上安装和切换多个Node.js版本。 1.安装nvm https://github.com/coreybutler/nvm-windows 访问以上链接到github去下载 点击releases 下载下图…...
x264 编码器 PSNR算法源码分析
PSNR PSNR(Peak Signal-to-Noise Ratio,峰值信噪比)是一种常用的图像质量评价指标,用于衡量图像或视频的清晰度和质量。PSNR是基于信号的最大可能功率与影响信号的噪声功率之间的比率。在图像处理领域,PSNR通常用来评估图像压缩或图像增强算法的效果。 PSNR的计算公式是…...
开源web版3D展示工具Online3DViewer
Online3DViewer是一个免费且开源的Web解决方案,它允许用户在浏览器中直接预览和探索3D模型。 以下是关于Online3DViewer的详细介绍: 一、基本概述 定义:Online3DViewer是一个在线3D模型查看器,支持多种3D文件格式,用…...
白骑士的Matlab教学实战项目篇 4.2 信号与图像处理项目
系列目录 上一篇:白骑士的Matlab教学实战项目篇 4.1 数据分析与可视化 信号处理和图像处理是 MATLAB 的重要应用领域,广泛应用于医学、工程、科学研究等领域。以下内容将介绍信号滤波与频域分析、图像增强与分割的基本概念和方法,并通过一个…...
复现、并改进open-mmlab的mmpose详细细节
复现open-mmlab的mmpose详细细节 1.配置环境2.数据处理3.训练4.改进mmpose4.1 快速调试技巧4.2 快速定位4.3 改进backbone4.3.1 使用说明4.3.2 改进案例4.3.2.1 复现mmpose原配置文件4.3.2.2 复现开源项目4.3.2.3 修改配置文件4.3.2.4 修改新模型 4.4 添加auxiliary_head4.4.1 …...
编写兼容Python2.x与3.x代码
编写兼容Python2.x与3.x代码 当我们正处于Python2.x到Python3.x的过渡期时,你可能想过是否可以在不修改任何代码的前提下能同时运行在Python2和3中。这看起来还真是一个合理的诉求,但如何开始呢?哪些Python2代码在3.x解释器执行时容易出状况…...
比特币8.12学习问题
疑问:什么是过滤,什么是offset 没有投钱的情况下,怎么用api 公式:单币分配金额 总资金 / 2/ offset/选币数量,其中2 表示多空 买入滑点(Slippage)是指在执行交易订单时,实际成交…...
解析 Vue 中的app.version、 app.provide 与 app.runWithContext :原理、应用与实例剖析
目录 app.provide app.runWithContext app.version 非 VIP 用户能够通过积分下载博文资源 app.provide 在 Vue 3.0 中,app.provide充当着在应用层级提供全局共享数据或者服务的关键角色。 app.provide(key, value) 这一方法接收两个关键参数,其中 …...
Ubuntu server 命令行跑selenium
背景 自动化测试都是在本机win上使用selenium 跑自动化脚本,但是服务器都是命令行的没有web界面 依赖包部署 apt-get install zlib1g-dev zlib1g## 安装谷歌浏览器 ## 跳到底部,选择其他平台 https://www.google.com/chrome/## ubuntu # dpkg -i google-chrome-stable_…...
刚刚,模糊测试平台SFuzz受到行业认可
近日,中国网络安全产业联盟(CCIA)正式发布了“2024年网络安全优秀创新成果大赛-安全严选专题赛”评选结果,开源网安模糊测试平台SFuzz凭借重大创新能力,得到组委会认可,获本次大赛创新产品优胜奖。 2024年网…...
数据结构与算法——DFS(深度优先搜索)
算法介绍: 深度优先搜索(Depth-First Search,简称DFS)是一种用于遍历或搜索树或图的算法。这种算法会尽可能深地搜索图的分支,直到找到目标节点或达到叶节点(没有子节点的节点),然后…...
业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
ubuntu搭建nfs服务centos挂载访问
在Ubuntu上设置NFS服务器 在Ubuntu上,你可以使用apt包管理器来安装NFS服务器。打开终端并运行: sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享,例如/shared: sudo mkdir /shared sud…...
简易版抽奖活动的设计技术方案
1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...
Java 8 Stream API 入门到实践详解
一、告别 for 循环! 传统痛点: Java 8 之前,集合操作离不开冗长的 for 循环和匿名类。例如,过滤列表中的偶数: List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...
selenium学习实战【Python爬虫】
selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...
是否存在路径(FIFOBB算法)
题目描述 一个具有 n 个顶点e条边的无向图,该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序,确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数,分别表示n 和 e 的值(1…...
Device Mapper 机制
Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...
在Ubuntu24上采用Wine打开SourceInsight
1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...
基于TurtleBot3在Gazebo地图实现机器人远程控制
1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...
