Idea的基本使用带案例---详细易懂

一.idea是什么

        有专业人士说,idea是天生适合做微软,当时我还想肯定是夸大其词了,但当你用起来的时候确实很爽,😊😊

        ntelliJ IDEA是一种集成开发环境(IDE),由JetBrains开发和维护。它是用于Java、Kotlin、Groovy和其他编程语言的开发工具。IntelliJ IDEA提供了丰富的功能和工具,旨在提高开发人员的生产力和代码质量。

        IntelliJ IDEA具有智能代码编辑器、代码自动完成、代码导航、重构工具、调试器、版本控制集成、内置构建工具(如Maven和Gradle)、单元测试工具、代码分析等功能。它还支持插件扩展,可以根据开发者的需求安装和使用各种插件。

        IntelliJ IDEA被广泛用于开发各种类型的应用程序,包括桌面应用程序、Web应用程序、移动应用程序和企业级应用程序。它被认为是一款功能强大、灵活且易于使用的开发工具,受到许多开发人员和团队的喜爱。

二.idea的好处

  1. 强大的代码编辑器:IntelliJ IDEA提供了智能代码编辑器,具有代码自动完成、语法高亮、代码格式化等功能,可以提高编码速度和准确性

  2. 智能代码导航和重构:IDEA可以帮助开发人员快速导航代码,并提供了各种重构工具,如重命名、提取方法、提取变量等,可以改善代码的结构和可维护性

  3. 内置构建工具支持:IDEA集成了流行的构建工具,如Maven和Gradle,可以方便地进行项目构建、依赖管理和部署等任务。

  4. 丰富的插件生态系统:IntelliJ IDEA支持插件扩展,有大量的第三方插件可供选择,可以根据需要扩展和定制IDE的功能。

三.idea的基本功能

        3.1 jdea安装及创建项目

首先我们从官网安装所需要的版本之后解压压缩包,下载安装即可

IntelliJ IDEA – the Leading Java and Kotlin IDEIntelliJ IDEA is undoubtedly the top-choice IDE for software developers. It makes Java and Kotlin development a more productive and enjoyable experience.https://www.jetbrains.com/idea/

安装好之后,我们需要配置一些能是我们用起idea更方便的设置,首先我们先创建一个项目,需要先创建一个工作区间,当出现 success,的时候就说明我们已经安装成功!

 创建项目好之后,里面是没有java包,需要我们自己创建,第一张是创建好项目之后,没有创建java包,第二张就是创建java包

 这样我们就可以在java包下建立页面,开发项目

         


  3.2 设置jdea

        3.2.1 设置主题颜色

        3.2.2 设置鼠标悬浮提示事件

        就是我们将鼠标放在一个方法上面,或者属性上面idea默认不会提示,这个时候,我们将它设置为提示

           3.2.3 显示方法分隔符

我们每个页面基本上要写很多方法,相信很多人都会遇到括号太多导致报错,然后要找半天,这个分隔符就可以很好的避免这个问题,方法之间,上下就有分隔符出现,方便查看代码;

 

          3.2.4 忽略大小写提示

        在idea的默认设置中,我们想要写代码输入一个代码后 例如 输入 File,如果你输入的是小写的 file 那么它便不会提示,这样我们敲起代码来就不爽快,本来记得的就不多还要记大小写,哈哈哈

          3.2.5 自动导包

这个呢,就是当我删除一个属性的时候,它的导包也会随着一并删除,这样就减少了代码多余

大家注意看导包 

     3.2.6 设置字体

        这个idea并不能按住ctrl 加+  它的字体变大,它需要我们自己去调整

  3.2.7 设置文档注释

 

3.2.8 自动编译

再Eclipse里,项目都是自动编译的,IDEA里默认不是,我们需要配置下;

Build,Execution,Deployment -> Compiler 两个勾选下,设置项目自动编译,包括平行结构的多个模块也自动编译

 3.2.9 设置eclipse快捷键

        如果不换的话我们就要重新熟悉idea的快捷键,这样就减少了事件

 3.2.10 设置编码

四.简单案列

这里也是maven项目,首先我们要配置文件,pom.xml 和 web.xml 文件

         4.1 pom.xml

我们只需要补充就行,首先补充这个

  <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.44</version>
        </dependency>

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>4.0.1</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>

其次还要补充这个

 <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.7.0</version>
                    <configuration>
                        <source>1.8</source>
                        <target>1.8</target>
                        <encoding>UTF-8</encoding>
                    </configuration>
                </plugin>

 4.2 配置tomcat

配置成这样就可以了 ,版本根据自己需求

 4.3 代码

        4.3.1 后台代码

package com.zking.demo;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * @author yinzi
 * @create 2023-08-11 15:59
 */
@WebServlet("/demo")
public class DemoServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
      this.doPost(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("hello idea,我是servlet");
        req.getRequestDispatcher("index.jsp").forward(req,resp);
    }
}

4.3.2 前台代码

<%--
  Created by IntelliJ IDEA.
  User: 86131
  Date: 2023/8/11
  Time: 16:10
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
hello idea 我是首页
</body>
</html>

4.3.3 运行结果

今天介绍就到这里啦!!!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使用VLC轻松体验本地视频推流、拉流、播放功能

VLC 前言一、VLC是什么&#xff1f;二、VLC推流&#xff08;服务器推流&#xff09;VLC客户端拉流参考 前言 本章主要讲解如何通过VLC开源免费工具对本地视频实现推流、拉流、播放演示。 一、VLC是什么&#xff1f; VLC 是一款自由、开源的跨平台多媒体播放器及框架&#xf…

Altium DXP原理图转换成Orcad Capture

买了个开发板&#xff0c;原图是Altium DXP的&#xff0c;但是个人熟悉的Orcad&#xff0c;PCB无所谓了&#xff0c;反正都要重画&#xff0c;但是原理图是件大工程&#xff0c;重画还可能出问题&#xff0c;所以想着把DXP转成Capture格式&#xff0c;查阅了相关文档&#xff0…

滴滴Ceph分布式存储系统优化之锁优化

摘自&#xff1a;https://mp.weixin.qq.com/s/oWujGOLLGItu1Bv5AuO0-A 2020-09-02 21:45 0.引言 Ceph是国际知名的开源分布式存储系统&#xff0c;在工业界和学术界都有着重要的影响。Ceph的架构和算法设计发表在国际系统领域顶级会议OSDI、SOSP、SC等上。Ceph社区得到Red Hat…

iOS字体像素与磅的对应关系

注意&#xff1a;低于iOS10的系统&#xff0c;显示的字宽和字高比高于iOS10的系统小。 这就是iOS10系统发布时&#xff0c;很多app显示的内容后面出现…&#xff0c;因而出现很多app为了适配iOS10系统而重新发布新版本。 用PS设计的iOS效果图中&#xff0c;字体是以像素&#x…

运维监控学习笔记7

Zabbix的安装&#xff1a; 1、基础环境准备&#xff1a; 安装zabbix的yum源&#xff0c;阿里的yum源提供了zabbix3.0。 rpm -ivh http://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm 这个文件就是生成了一个zabbix.repo 2、安…

Rabbitmq延迟消息

目录 一、延迟消息1.基于死信实现延迟消息1.1 消息的TTL&#xff08;Time To Live&#xff09;1.2 死信交换机 Dead Letter Exchanges1.3 代码实现 2.基于延迟插件实现延迟消息2.1 插件安装2.2 代码实现 3.基于延迟插件封装消息 一、延迟消息 延迟消息有两种实现方案&#xff…

12-数据结构-数组、矩阵、广义表

数组、矩阵、广义表 目录 数组、矩阵、广义表 一、数组 二.矩阵 三、广义表 一、数组 这一章节理解基本概念即可。数组要看清其实下标是多少&#xff0c;并且二维数组&#xff0c;存取数据&#xff0c;要先看清楚是按照行存还是按列存&#xff0c;按行则是正常一行一行的去读…

汇编知识点之磁盘文件存取技术

1.文件代号式磁盘存取 &#xff08;1&#xff09;两个重要的表 (2)简要说明&#xff1a; 文件代号式存取方式将有关文件的各种信息都包括在DOS中。 在处理指定文件时必须使用一个完整的路径名&#xff0c;一旦文件的路径名被送入操作系统&#xff0c;就被赋予一个简单的文件…

第二章:CSS基础进阶-part2:CSS过渡与动画

文章目录 CSS3 过渡动画一、transition属性二、transform属性-2D变换2.1 tanslate &#xff1a; 移动2.2 rotate-旋转2.3 scale-变形2.4 skew-斜切2.5 transform-origin: 变换中心点设置 三、CSS3关键帧动画四、CSS3-3D变换4.1 perspective 定义3D元素距视图距离4.2 transform-…

微服务系列(2)--注册中心

在博文&#xff1a;微服务系列(1)里我们提到过注册中心的概念&#xff0c;简单来说微服务注册中心是一个用于存储和管理微服务实例信息的组件&#xff0c;它提供了服务注册、服务发现、服务健康检查等功能&#xff0c;以确保微服务之间的稳定通信。在微服务架构中&#xff0c;各…

工程监测振弦采集仪采集到的数据如何进行分析和处理

工程监测振弦采集仪采集到的数据如何进行分析和处理 振弦采集仪是一个用于测量和记录物体振动的设备。它通过测量物体表面的振动来提取振动信号数据&#xff0c;然后将其转换为数字信号&#xff0c;以便进行分析和处理。在实际应用中&#xff0c;振弦采集仪是广泛应用于机械、建…

C#软件外包开发流程

C# 是一种由微软开发的多范式编程语言&#xff0c;常用于开发各种类型的应用程序&#xff0c;从桌面应用程序到移动应用程序和Web应用程序。下面和大家分享 C# 编程学习流程&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#…

深度学习笔记(kaggle课程《Intro to Deep Learning》)

一、什么是深度学习&#xff1f; 深度学习是一种机器学习方法&#xff0c;通过构建和训练深层神经网络来处理和理解数据。它模仿人脑神经系统的工作方式&#xff0c;通过多层次的神经网络结构来学习和提取数据的特征。深度学习在图像识别、语音识别、自然语言处理等领域取得了…

通过代码实现窗口界面布局的方法

在QWidget窗口中添加相关事件resizeEvent()函数并编写相关功能代码&#xff1a; void Widget::resizeEvent(QResizeEvent *event) {QSize szui->plainTextEdit->size();ui->plainTextEdit->move(5,5);ui->pabpic->move(5,sz.height()5);ui->plainTextEd…

上传excel文件

文件上传&#xff0c;其实就是用el-upload组件来实现上传&#xff0c;只是换了样式&#xff0c;和图片上传一样 <el-form-item label"选择文件"><el-input placeholder"请选择文件" v-model"form.file" disabled style"width: 45…

Android T 窗口层级其二 —— 层级结构树的构建(更新中)

如何通过dump中的内容找到对应的代码&#xff1f; 我们dump窗口层级发现会有很多信息&#xff0c;adb shell dumpsys activity containers 这里我们以其中的DefaultTaskDisplayArea为例 在源码的framework目录下查找该字符串&#xff0c;找到对应的代码就可以通过打印堆栈或者…

vue.draggable浅尝

介绍 Vue.Draggable是一款基于Sortable.js实现的vue拖拽插件。支持移动设备、拖拽和选择文本、智能滚动&#xff0c;可以在不同列表间拖拽、不依赖jQuery为基础、vue 2过渡动画兼容、支持撤销操作&#xff0c;总之是一款非常优秀的vue拖拽组件。本篇将介绍如何搭建环境及简单的…

Python爬虫之解决浏览器等待与代理隧道问题

作为专业爬虫程序员&#xff0c;我们往往需要应对一些限制性挑战&#xff0c;比如浏览器等待和使用代理隧道。在Python爬虫开发中&#xff0c;这些问题可能会导致我们的爬虫受阻。本文将为你分享解决这些问题的方案&#xff0c;帮助你顺利应对浏览器等待和代理隧道的挑战&#…

jeecg-boot批量导入问题注意事项

现象&#xff1a; 由于批量导入数据速度很快&#xff0c; 因为数据库中的create time字段的时间可能一样&#xff0c;并且jeecg框架自带的是根据生成时间排序&#xff0c; 因此在前端翻页查询的时候&#xff0c;数据每次排序可能会不一样&#xff0c; 会出现第一页已经出现过一…

分类预测 | MATLAB实现BO-BiGRU贝叶斯优化双向门控循环单元多输入分类预测

分类预测 | MATLAB实现BO-BiGRU贝叶斯优化双向门控循环单元多输入分类预测 目录 分类预测 | MATLAB实现BO-BiGRU贝叶斯优化双向门控循环单元多输入分类预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 1.Matlab实现BO-BiGRU贝叶斯优化双向门控循环单元多特征分…