IDEA全家桶式讲解 | IDEA安装、使用、断点调试、Git、插件 (第二篇)

news2024/11/13 15:00:10

目录

一:JavaEE阶段需要掌握的IDEA技能

1. 配置Tomcat

2. 配置Maven

3. IDEA连接数据库

4. 方便的特殊功能

5. 断点调试(重点)

6. IDEA中常用Git协同开发(重点)

7. 常用插件安装


一:JavaEE阶段需要掌握的IDEA技能

1. 配置Tomcat

(1)添加本地的Tomcat服务器

(2)进行基本的配置

 (3)发布项目信息

第一步:

 第二步:

从项目的结构Project Structure中的Artifacts中也可以查看详细信息

(4)启动Tomcat服务器,效果图

控制台信息

注意:此时控制台出现了乱码,解决方案?

可以通过修改 IDEA 的属性文件进行设置,在 IDEA 的安装目录中找到:idea.exe.vmoptions 或者 idea64.exe.vmoptions 中最后一行添加:-Dfile.encoding=UTF-8;然后重启IDEA,在重启tomcat服务,如果发现server控制台下仍然出现乱码,这里需要为tomcat的启动添加配置:-Dfile.encoding=UTF-8即可;再或者我们使用Tomcat10即可!

(5)引入第三方 jar 包【了解】

第一种方式:在Project Structure中找到Libraries;选择+,选中java就可以引入所需要的jar包

第二种方式:先创建一个lib目录,然后把所需的jar包拷贝过去;最终添加进去即可

后期我们都是使用Maven来构建项目,所以以上方法作为了解即可!

2. 配置Maven

对于Maven有一篇博客已经详细的赘述http://t.csdn.cn/x21Rn ,这里就直接讲解IDEA集成Maven!

(1)配置本地的仓库

目前,在一般的开发工具中都会集成 Maven 插件,不进行任何配置也可以使用。但是,由于 每个公司使用 Maven 仓库的不同,和基于 Maven 软件的稳定性的考虑,一般都是使用独立的Maven 软件,不使用开发工具中内置的 Maven 插件。若需要使用自己独立的 Maven 软件,则 需要进行相关的配置;在 IDEA 中设置 Maven 可以打开 IDEA 的 settings 进行设置如下图:

配置的入口 :File--settings ---Build, Excution,Deployment--Build Tools--Maven 

①Maven Home directory: maven的安装目录
②User Settings File :  就是maven安装目录conf/setting.xml配置文件
③Local Repository :    本机仓库的目录位置,上面配置好,会自动配置这一项

补充:还要对另一个位置进行同样的设置,这样以后创建新项目也会默认使用自己配置的仓库:

File--->New Projects Setup--->Settings for New Projects

会跳转到上面相同页面,在重新配置一遍即可

(2)创建Maven的Java项目

第一步:选择创建Maven的Module,不再是Java项目或者空项目了;当然我们也可以选择使用模板进行创建;Java项目不需要选用模板

第二步:模块名,代码存放的位置,填写坐标信息

生成的结果

(3)创建Maven的Web项目

第一步:使用webapp项目模板

第二步:同样是模块名,代码存放的位置,填写坐标信息;

第三步: 生成的目录结构是缺少java代码目录的

添加java目录和resources目录

 

3. IDEA连接数据库

第一步:打开面板

第二步:输入用户名和密码,注意:第一次使用会需要下载驱动 

第三步:先点击右边点,选中mybatis数据库,最终就可以得到里面的表

4. 方便的特殊功能

(1)代码分栏

在开发大型项目时,有的类实现相互有关联的,我们就可以通过代码分栏的方式达到以下效果:

具体操作:放在类的位置栏上,点击右键,找到带Split的单词

 (2)命令行终端分栏

在IDEA中我们也可以直接打开命令行窗口进行操作:

 并且对于命令行窗口也支持分栏的操作,选中Local右击鼠标:

 (3)禅模式

所谓的禅模式就是只显示敲代码的栏框,避免其它的干扰!步骤如下:

效果如下:

(4) HttpClient

主要是用来发送客户端请求的,步骤如下:

执行结果如下:

5. 断点调试(重点)

(1)Debug设置

在windows系统的IDEA中,可以通过设置:Shared memory属性,从而减少对内存的占用。

 (2)常用断点调试快捷键

 实际上最常用的就三个:F7(进到一个方法体当中)、F8(下一步)、F9(跳到下一个断点)!

6. IDEA中常用Git协同开发(重点)

这个知识点是建立在对 GIT 有一定了解的基础上来讲解的,如果还不会使用 git,请查阅相关 GIT 的安装和基本使用!

(1)配置Git,根据我们已经安装好的Git配置以下目录

(2)场景说明

假设小组中有两个人,组长小明,组员小红:

场景一:小明创建项目并提交到远程 Git 仓库 /gitlab

场景二:小红从远程 Git 仓库上获取项目源码

场景三:小红修改了部分源码,提交到远程仓库

场景四:小明从远程仓库获取小红的提交

场景五:小红接受了一个新功能的任务,创建了一个分支并在分支上开发、提交到远程仓库

场景六:小明获取小红提交的分支

场景七:小明把分支合并到主干

场景八:项目要发版,小明打 tag

第一步:先创建一个springboot项目

 

第二步: Git提交代码到本地仓库

选择 VCS -> Create Git Repository

然后选中我们要提交的项目,点击 OK 后创建完成本地仓库

注意:这里是存在本地,但是本地的暂存区和版本库里都没有;下面把项目源码添加到本地仓库:

上图是 Git 与提交有关的三个命令对应的操作:Add 命令是把文件从 IDE 的工作目录添加到 本地仓库的 stage 区;Commit 命令把 stage 区的暂存文件提交到当前分支的仓库;

第三步:提交本地仓库到远程库

假设小组成员小明和小红共同开发一个项目,他们除了把代码提交到本地,还要提交到远程库当中,这个远程库使用Gitee

场景一:小明创建项目并提交到远程 Git 仓库

①先创建一个空的仓库

 ②设置仓库的基本信息

 ③创建成功,复制远程仓库的地址

 ④把本地仓库的项目推送到远程仓库:

Git---》push

输入远程仓库的账户和密码

点击Push推送

成功添加到远程仓库

场景二:小红从远程 Git 仓库上获取项目源码

①从 git 从检出项目

②进入仓库,点击克隆,复制链接

 ③粘贴链接,点击Clone,就可以从远程仓库拉取到本地

场景三:小红修改了部分源码,提交到远程仓库

这个操作和首次提交的流程基本一致,分别是 Add -> Commit -> Push。

 然后commit提交到本地仓库,在Push提交到远程仓库;或者一步到位:Commmit and Push

场景四:小明从远程仓库获取小红的提交

获 取 更 新 有 两 个 命 令 : Fetch 和 Pull 

Fetch 是 从 远 程 仓 库 下 载 文 件 到 本 地 的origin/master,然后可以手动对比修改决定是否合并到本地的 master 库;Pull 则是直接下载并合并。如果各成员在工作中都执行修改前先更新的规范,则可以直接使用 Pull 方式以简化操作。

场景五:小红接受了一个新功能的任务,创建了一个分支并在分支上开发

建分支也是一个常用的操作,例如临时修改 bug、开发不确定是否加入的功能等,都可以创建 一个分支,再等待合适的时机合并到主干。

①New Branch 并输入一个分支的名称

 

此时的分支dex只有本地上有,远程仓库上还没有

②在dev分支上开发一个新功能Hello,然后Add和Commit;此时在本地上dev分支上有Hello,主分支上master并没有

③此时远程仓库上是都没有dev分支的,需要Push,会自动创建这个分支

④此时远程仓库上就会多一个dev分支结构

此时master主分支与dev分支对比:dev比master多了一个Hello

master主分支

dev分支

场景六:小明获取小红提交的分支

①对于小明来说本地是没有dev的

②去Fetch拉取,Fetch后就有这个分支了,然后换成dev分支即可

场景七:小明把分支合并到主干

新功能开发完成,体验很好,项目组决定把该功能合并到主干上。

①切换到 master 分支,选择 Merge Changes 

②选择要合并的分支

③此时只是本地仓库合并,还是需要把master重新提交到远程仓库

 ④此时远程仓库master中也含有Hello了

场景八:项目要发版,小明打 tag

①创建Tag

起一个名字

 ②再次Push,选中Push Tag后提交

③此时还可以看到何时对这个仓库进行了具体的操作

④此时远程仓库上就可以找到对应的发行版本

7. 常用插件安装

以下插件需要先下载安装才能使用,找到以下界面进行搜索、下载;安装后根据提示,重启IDEA

(1)中文插件Chinese插件

使用中文插件后,功能界面全变成中文版的了,非常的友好!

(2)Translation(重要)

是一个很重要的插件;对于不经常使用英语的同学来说,对类,变量,方法想取一个合适的名字,又苦于英语不行想不出来,怎么办,这个插件能帮到你翻译!

安装后在工具栏上有一个小图标

注:有的人可能IDEA没有显示工具栏,可以在视图中进行设置

双击上面的小图标,就可以完成中文和英文的来回切换(英-->中、中--->英都可以)

包括可以帮我们翻译,这样方便我们看源码;选中某一段或某一个单词,右击鼠标:

 (3)CodeGlance插件

使用此插件可以查看缩略图一样,快速切换到自己需要去的地方

效果如下:

 (4)Alibaba Java Coding Guidelines插件

一款阿里巴巴公司试行的开发设计规范,只要命名规范不符合人家的开发规范就会报错,适合新手

(5)Maven Helper插件

主要功能如下:查找和排除冲突依赖项的简便方法,为包含当前文件或根模块的模块运行/调试 maven 目标的操作,运行/调试当前测试文件的操作

 这个插件使用在Maven构建的项目,创建好Maven项目,打开pom.xml会有一个依赖分析

点开依赖分析,界面如下:

注:对于想要移除的依赖,直接选中,右击鼠标Exclude就可以移除,或者在pom.xml配置中删除

(6)MyBatisCodeHelperPro(重要)

这个是一款比较实用的插件。但是,现在需要收费;不过,也可以申请 7 天的免费测试码,体验一下在购买也可以的;具体功能如下:

提供 Mapper 接口与配置文件中对应 SQL 的导航.

编辑 XML 文件时自动补全.

根据 Mapper 接口, 使用快捷键生成 xml 文件及 SQL 标签. ResultMap 中的 property 支持自动补全,支持级联(属性 A.属性 B.属性 C).

快捷键生成@Param 注解. XML 中编辑 SQL 时, 括号自动补全. XML 中编辑 SQL 时, 支持参数自动补全(基于@Param 注解识别参数).

自动检查 Mapper XML 文件中 ID 冲突.

自动检查 Mapper XML 文件中错误的属性值.

支持 Find Usage.

支持重构从命名.

支持别名.

自动生成 ResultMap 属性.

快捷键: Option + Enter(Mac) | Alt + Enter(Windows)

当然也可以自己找到免费的,具体操作如下:把整个MyBatisCodeHelper-Pro文件夹复制粘贴到IDEA的plugins目录下,然后重启IDEA,就能看到这个插件了。或者直接导入对应的压缩包

第一步:先创建一个SpringBoot项目

基础设置

添加框架

第二步:具体使用

①先编写application.yml文件

server:
  port: 8080
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/mybatis
    username: root
    password: 123
    type: org.springframework.jdbc.datasource.DriverManagerDataSource
mybatis:
  mapper-locations: classpath:mapper/*.xml
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  

②IDEA连接数据库,选择数据表,右击鼠标

③进行配置

④最终就可以生成操作Mybatis所需要的配置文件

(7)Lombok插件

这个插件是IDEA已经自动捆绑的;Lombok 能以简单的注解形式来简化 java 代码,提高开发人员的开发效率。例如开发中经常需要写的 javabean,都需要花时间去添加相应的getter/setter,也许还要去写构造器、equals 等方法,而且需要维护,当属性多时会出现大量的 getter/setter 方法,这些显得 很冗长也没有太多技术含量,一旦修改属性,就容易出现忘记修改对应方法的失误。Lombok能通过注解的方式,在编译时自动为属性生成构造器、getter/setter、equals、hashcode、toString 方法。

例如:对于一个Person类,我们可以提供一个@AllArgsConstructor、@Getter、@Setter注解,实际上就会自动生成有参构造方法、Set和Get方法,也能正常调用

package com.zl.stream;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.Setter;

public class Test {
    public static void main(String[] args) {
        // 创建对象
        Person p = new Person("张三", 18);
        // 调用方法
        p.getName();
    }
}

@AllArgsConstructor
@Getter
@Setter
class Person{
    private String name;
    private int id;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/357908.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Julia 语言环境安装

Julia 语言支持以下系统: LinuxFreeBSDmacOSWindowsAndroid Julia 安装包下载地址为:Download Julia。 Github 源码地址:GitHub - JuliaLang/julia: The Julia Programming Language。 国内镜像地址:Index of /julia-releases/…

Spring Boot框架基础介绍

Spring Boot 是一款基于 Spring 框架的开源应用程序开发工具,它旨在简化 Spring 应用程序的配置和开发过程。Spring Boot 提供了一种简单的方式来创建可独立运行的、生产级别的应用程序,并在需要时进行部署。Spring Boot 在微服务架构和云计算环境下得到…

nodejs基于vue垃圾回收分类网站

目录 1 绪论 1 1.1课题背景 1 1.2课题研究现状 1 1.3初步设计方法与实施方案 2 1.4本文研究内容 2 2 系统开发环境 4 2.1 JAVA简介 4 2.2MyEclipse环境配置 4 2.3 B/S结构简介 4 2.4MySQL数据库 5 2.5 SPRINGBOOT框架 5 3 系统分析 6 3.1系统可行性分析 6 3.1.1经济可行性 6 3.…

【C++修炼之路】18.map和set

每一个不曾起舞的日子都是对生命的辜负 map和setmap和set一.关联式容器二.set2.1 set的介绍2.2 set的使用1.set的模板参数列表2.set的构造3.set的迭代器4.set修改操作5.bound函数三.multiset四.map3.1 map的介绍3.2 map的使用1.map的模板参数说明2.pair的介绍3.map的[]重载五.m…

如何构建微服务架构?

相信很多人对微服务架构都会产生这样一些疑问,例如我要何时使用微服务架构?又如何将应用程序分解为微服务?分解后,要如何去搭建微服务架构?同时,在微服务架构中,因为会涉及到多个组件,那么这些组件又可以使用什么技…

[软件工程导论(第六版)]第9章 面向对象方法学引论(复习笔记)

文章目录9.1 面向对象方法学概述要点9.2 面向对象的概念对象9.3 面向对象建模9.4 对象模型9.5 动态模型9.6 功能模型9.7 3种模型之间的关系9.1 面向对象方法学概述要点 面向对象方法学的出发点和基本原则,是尽可能模拟人类习惯的思维方式,使开发软件的方…

CS144-Lab3

概述 在实验0中,你实现了流控制字节流(ByteStream)的抽象。 在实验1和2中,你实现了将不可靠数据报中的段转换为传入字节流的工具:StreamReassembler和TCPReceiver。 现在,在实验3中,你将实现…

【STM32笔记】低功耗模式配置及避坑汇总

【STM32笔记】低功耗模式配置及配置汇总 文章总结:(后续更新以相关文章为准) 【STM32笔记】__WFI();进入不了休眠的可能原因 【STM32笔记】HAL库低功耗模式配置(ADC唤醒无法使用、低功耗模式无法烧录解决方案&#x…

kanban系统wekan安装

看板类开源项目排名第一的wekan项目安装比较友好的leantime 下载windows 版本 wekan 进入官网 https://wekan.github.io/ , 留意最新版依赖的技术栈, 比如 WeKan v6.74 依赖的是 Meteor 2.10.0, Node.js 14.21.2, MongoDB 6.0.4。 点击 Offline Window LAN 链接进入 github wik…

「7」线性代数(期末复习)

🚀🚀🚀大家觉不错的话,就恳求大家点点关注,点点小爱心,指点指点🚀🚀🚀 目录 第五章 相似矩阵及二次型 &4)对称阵的对角化 &5二次型及其标准型 …

【C++】类与对象理解和学习(中)

专栏放在【C知识总结】,会持续更新,期待支持🌹六大默认成员函数前言每个类中都含有六大默认成员函数,也就是说,即使这个类是个空类,里面什么都没有写,但是编译器依然会自动生成六个默认成员函数…

【SSD 代码精读】之 model (Backbone) loss

model1、Backbone1)ResNet-502)截取 ResNet-50 的前半部分作为 backbone2、Module3、Loss Function1)location loss2)confidence loss3)整体 loss4)loss 代码1、Backbone 这里介绍使用 ResNet-50 作为 bac…

思维经验 | ​如何刻意练习提升用户思维?

小飞象交流会哪里有什么捷径,那些个“一步登天”的哪个不是在前面就打好了“地基”的。内部交流│20期思维经验分享如何刻意练习提升用户思维?data analysis●●●●分享人:大江老师‍数据部门和运营部门做了大量的用户标签和用户分层工作。为…

基于GIS的地下水脆弱性评价

(一)行政边界数据、土地利用数据和土壤类型数据 本文所用到的河北唐山行政边界数据、土地利用数据和土壤类型数据均来源于中国科学院资源环境科学与数据中心(https://www.resdc.cn/Default.aspx)。 (二)地…

小孩扁桃体肿大3度能自愈吗?6岁小孩扁桃体肥大怎么治效果好?

12月7日,四川眉山市民唐先生说,他刚出生的儿子在妇产医院分娩中心住了20天后感染了败血症。据唐先生介绍,哈子出院时各项指标正常。他在分娩中心住了半个月左右,孩子喝牛奶很生气,第二天就开始发烧了。同一天&#xff…

新版bing(集成ChatGPT)申请通过后在谷歌浏览器(Chrome)上的使用方法

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,科大讯飞比赛第三名,CCF比赛第四名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…

Flink-运行时架构介绍

文章目录Flink 运行时架构系统架构整体架构作业管理器(JobManager)任务管理器(TaskManager)作业提交流程高层级抽象视角独立模式(Standalone)YARN 集群数据流图(Dataflow Graph)并行…

用户画像——如何构建用户画像系统

为什么需要用户画像 如果你是用户,当你使用抖音、今日头条的时候,如果平台推荐给你的内容都是你感兴趣的,能够为你节省大量搜索内容的时间。 如果你是商家,当你投放广告的时候,如果平台推送的用户都是你的潜在买家,能够使你花更少的钱,带来更大的收益。 这两者背后都…

Linux内核驱动之efi-rtc

Linux内核驱动之efi-rtc1. UEFI与BIOS概述1.1. BIOS 概述1.1.1. BIOS缺点:1.1.2. BIOS的启动流程1.2 UEFI 概述1.2.1 Boot Sevices:1.2.2. Runtime Service:1.2.3. UEFI优点:1.2.4. UEFI启动过程:1.3 Legacy和UEFI1.4 …

【第31天】SQL进阶-写优化- 插入优化(SQL 小虚竹)

回城传送–》《31天SQL筑基》 文章目录零、前言一、练习题目二、SQL思路:SQL进阶-写优化-插入优化解法插入优化禁用索引语法如下适用数据库引擎非空表:禁用索引禁用唯一性检查语法如下适用数据库引擎禁用外键检查语法如下适用数据库引擎批量插入数据语法…