初识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)是一种用于遍历或搜索树或图的算法。这种算法会尽可能深地搜索图的分支,直到找到目标节点或达到叶节点(没有子节点的节点),然后…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...
React hook之useRef
React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...
多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验
一、多模态商品数据接口的技术架构 (一)多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如,当用户上传一张“蓝色连衣裙”的图片时,接口可自动提取图像中的颜色(RGB值&…...
质量体系的重要
质量体系是为确保产品、服务或过程质量满足规定要求,由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面: 🏛️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限,形成层级清晰的管理网络…...
今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存
文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...
LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》
这段 Python 代码是一个完整的 知识库数据库操作模块,用于对本地知识库系统中的知识库进行增删改查(CRUD)操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 📘 一、整体功能概述 该模块…...
在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)
考察一般的三次多项式,以r为参数: p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]; 此多项式的根为: 尽管看起来这个多项式是特殊的,其实一般的三次多项式都是可以通过线性变换化为这个形式…...
C语言中提供的第三方库之哈希表实现
一. 简介 前面一篇文章简单学习了C语言中第三方库(uthash库)提供对哈希表的操作,文章如下: C语言中提供的第三方库uthash常用接口-CSDN博客 本文简单学习一下第三方库 uthash库对哈希表的操作。 二. uthash库哈希表操作示例 u…...
微服务通信安全:深入解析mTLS的原理与实践
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、引言:微服务时代的通信安全挑战 随着云原生和微服务架构的普及,服务间的通信安全成为系统设计的核心议题。传统的单体架构中&…...
高考志愿填报管理系统---开发介绍
高考志愿填报管理系统是一款专为教育机构、学校和教师设计的学生信息管理和志愿填报辅助平台。系统基于Django框架开发,采用现代化的Web技术,为教育工作者提供高效、安全、便捷的学生管理解决方案。 ## 📋 系统概述 ### 🎯 系统定…...
