JavaEE概述 + Maven

文章目录

  • 一、JavaEE 概述
  • 二、工具 --- Maven
    • 2.1 Maven功能 + 仓库 + 坐标
    • 2.2 Maven之项目构建
    • 2.3 Maven之依赖管理
  • 三、插件 --- Maven Helper

一、JavaEE 概述

  1. Java SE、JavaEE
    • Java SE:指Java标准版,适用于各行各业,主要是Java基础、语法等等,所以多线程,网络编程之类的都算是JavaSE的内容。
    • Java EE:指Java企业版,主要面向企业开发
  2. 学习内容:框架、插件、工具、企业规范(一个功能按照企业的规范去实现)
    • 四个框架:Spring、Spring Boot、Spring MVC、Mybatis。其中前三个都是Spring 家族的产品。Mybatis则是一个持久层框架,主要用来帮助我们更好地操作数据库。
  3. 什么是Spring:Spring 是基于Servlet的一个框架
  4. 什么是框架
    • 原理:由于一个项目的实现是有很多共性的操作的,为了提高代码编写效率,我们将这些共性的共性抽取出来,而这提取出的共性的东西,就是【框架】
    • 框架相当于一个实现了部分功能的半成品(毛胚房),而想要达到最后实装的效果,就需要我们在这个半成品的基础上自定义装修

二、工具 — Maven

2.1 Maven功能 + 仓库 + 坐标

  1. Maven 功能:Maven是一个项目管理工具,我们主要使用其【项目构建】和【依赖管理】这两个功能

  2. 坐标:相当于一个描述,我们可以根据这个描述在仓库里找到对应的 jar包

  3. 仓库:jar包去下载的位置,分为中央仓库、本地仓库、私服

    • 中央仓库:全球唯一一个,服务器在国外 可以通过这个网址去中央仓库下载
    • 本地仓库:“自己的仓库”,我们用到的所有的jar包,都会在本地仓库存着。
      • 类似于【缓存】,在去私服/中央仓库下载之前,先看本地仓库里有没有这个 jar包
    • 私服:即私有服务器,一般是企业在用,用来给具有权限的人使用(中央仓库里的包是程序员上传上去的,但如果有些包不想开源,又想给有权限的人使用,就可以放到私服里)
    • 仓库的下载顺序
      在这里插入图片描述
  4. 如何配置仓库:

    • User settings file:settings 文件代表了 Maven相关的配置信息。我们的依赖要去哪里下载,完全取决于settings里的配置。
      • 配置国内源:修改settings文件,往里面添加其他开源仓库,如阿里云镜像
        在这里插入图片描述
  5. 让配置在新项目中生效:此时的配置都是在当前项目生效

在这里插入图片描述

2.2 Maven之项目构建

  1. 如何创建一个Maven项目
    在这里插入图片描述
  2. Maven项目 ---- 关于Maven的命令
    在这里插入图片描述

2.3 Maven之依赖管理

  1. 概述:通过修改pom.xml文件的配置来获取依赖

    • 什么是依赖:项目运行过程中需要的第三方库、框架等
  2. Maven 对依赖的处理:依赖传递、依赖排除

    • 依赖传递:可以把依赖的依赖导进去,避免出错
    • 依赖排除:我们可以通过< exclusion>手动把我们认为不需要的包给排除掉
      • 场景:当整个项目十分复杂,引入了不同版本的同一个包,此时我们就需要手动排除一个,以避免冲突
        在这里插入图片描述
  3. 关于导入依赖

    • 手动导入:提前把第三方要引入的包下好,然后手动添加进去
      在这里插入图片描述
    • Maven 式引入:修改pom文件,使用坐标的方式描述该依赖的信息,然后让Maven帮我们去下载。注意,每一次修改后,都要去刷新一下,好让其生效。
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
    <scope>provided</scope>
</dependency>
  1. 如何查看当前项目有什么依赖
    在这里插入图片描述

三、插件 — Maven Helper

  1. 作用:帮助我们分析Maven管理下的包相互之间的依赖关系。以便我们更好地操作“依赖传递”和 “依赖排出”
  2. 插件的安装:下载完插件后,需要重启IDEA。重启之后,pom.xml下就会出现【依赖分析】
    在这里插入图片描述
  3. 插件的使用
    在这里插入图片描述

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

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

相关文章

2024 Flutter 一季度热门 issue/roadmap 进展和个人感触闲聊

因为最近的《Flutter&#xff1a;听说你最近到处和人说我解散了&#xff1f;》相关事件之后&#xff0c;不少人对于目前 Flutter 的一些进度情况比较关心&#xff0c;刚好这里做一个简要汇总&#xff0c;报告几个过去一季度相关的热门 issue/roadmap 情况&#xff0c;另外这些天…

邮件群发系统的效率怎么样?如何评估性能?

邮件群发系统的使用方法&#xff1f;邮件群发工具的关键功能&#xff1f; 邮件群发系统已成为企业、组织及个人进行信息沟通的重要工具。然而&#xff0c;当我们谈论邮件群发系统的效率时&#xff0c;我们需要从多个维度来全面分析和评估。AokSend就来介绍一下。 邮件群发系统…

ReactFlow的ReactFlow实例事件传参undefined处理状态切换

1.问题 ReactFlow的ReactFlow实例有些事件我们在不同的状态下并不需要&#xff0c;而且有时候传参会出现其它渲染效果&#xff0c;比如只读状态下我们不想要拖拉拽onEdgesChange连线重连或删除的功能。 2.思路 事件名称类型默认值onEdgesChange(changes: EdgeChange[]) >…

AI大模型探索之路-训练篇17:大语言模型预训练-微调技术之QLoRA

系列篇章&#x1f4a5; AI大模型探索之路-训练篇1&#xff1a;大语言模型微调基础认知 AI大模型探索之路-训练篇2&#xff1a;大语言模型预训练基础认知 AI大模型探索之路-训练篇3&#xff1a;大语言模型全景解读 AI大模型探索之路-训练篇4&#xff1a;大语言模型训练数据集概…

浅谈消息队列和云存储

1970年代末&#xff0c;消息系统用于管理多主机的打印作业&#xff0c;这种削峰解耦的能力逐渐被标准化为“点对点模型”和稍复杂的“发布订阅模型”&#xff0c;实现了数据处理的分布式协同。随着时代的发展&#xff0c;Kafka&#xff0c;Amazon SQS&#xff0c;RocketMQ&…

基于大数据+Hadoop的豆瓣电子图书推荐系统实现

&#x1f339;作者主页&#xff1a;青花锁 &#x1f339;简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java微服务架构公号作者&#x1f604; &#x1f339;简历模板、学习资料、面试题库、技术互助 &#x1f339;文末获取联系方式 &#x1f4dd; 系列文章目录 基于大数…

组合模式(Composite)——结构型模式

组合模式(Composite)——结构型模式 组合模式是一种结构型设计模式&#xff0c; 你可以使用它将对象组合成树状结构&#xff0c; 并且能通过通用接口像独立整体对象一样使用它们。如果应用的核心模型能用树状结构表示&#xff0c; 在应用中使用组合模式才有价值。 例如一个场景…

新能源汽车充电站智慧充电电能服务综合解决方案

安科瑞薛瑶瑶18701709087/17343930412 ★解决方案 ✔目的地充电-EMS微电网平台 基于EMS解决方案从设备运维的角度解决本地充电的能量管理及运维问题&#xff0c;与充电管理平台打通数据&#xff0c;为企业微电网提供源、网、荷、储、充一体化解决方案。 ✔运营场站--电能服务…

​「Python绘图」绘制太极图

python 绘制太极 一、预期结果 二、核心代码 import turtlepen turtle.Turtle()print("开始绘制太极")radius 100 pen.color("black", "black") pen.begin_fill() pen.circle(radius/2, 180) pen.circle(radius, 180) pen.left(180) pen.circ…

英语口语情景对话视频软件分享!

在当今全球化的时代&#xff0c;英语已成为一种通用的国际语言。为了提高英语口语能力&#xff0c;越来越多的人选择使用英语口语情景对话视频软件。本文将为您推荐几款备受欢迎的英语口语情景对话视频软件&#xff0c;帮助您轻松提高英语口语水平。 AI外语陪练 AI外语陪练软件…

营养补充品软胶囊:弹性测试与市场表现的深度解析

营养补充品软胶囊&#xff1a;弹性测试与市场表现的深度解析 在追求健康生活的时代&#xff0c;营养补充品市场蓬勃发展&#xff0c;其中软胶囊作为一种方便、易吸收的剂型&#xff0c;受到了消费者的广泛欢迎。然而&#xff0c;在这个竞争激烈的市场中&#xff0c;如何确保产…

推荐5个AI工具平替GPT

随着AI技术的快速发展&#xff0c;AI写作正成为创作的新风口。但是面对GPT-4这样的国际巨头&#xff0c;国内很多小伙伴往往望而却步&#xff0c;究其原因&#xff0c;就是它的使用门槛高&#xff0c;还有成本的考量。 不过&#xff0c;随着GPT技术的火热&#xff0c;国内也涌…

window11事件查看器中“在事件中只要触发此事件,就会执行相关非XX.xml脚本”

在事件中只要触发此事件&#xff0c;就会执行相关非XX.xml脚本 一、操作过程 1、在时间查看器中&#xff0c;将任务附加到此事件上 2、按照提示逐步下一步添加完成 3、只要触发1中的事件&#xff0c;那么就会执行对应的关联脚本xx.xml。 二、解决办法 1、通过开始菜单搜索打…

riscv交叉编译ports软件@FreeBSD15

当前FreeBSD的riscv版本下&#xff0c;软件包还很贫乏&#xff0c;再加上RISCV的板子有很多种&#xff0c;大部分时候都需要自己动手编译。但是在RISCV环境下编译太慢了&#xff0c;所以我们要使用交叉编译&#xff0c;在很快的AMD64服务器上交叉编译RISCV的软件包。 这里使用…

Promise魔鬼面试题

文章目录 题目解析难点分析分析输出step1step2step3step4step5step6 参考/致谢&#xff1a;渡一袁老师 题目 Promise.resolve().then(() > {console.log(0);return Promise.resolve(4);}).then((res) > {console.log(res);});Promise.resolve().then(() > {console.l…

基于FPGA的数字信号处理(10)--定点数的舍入模式(1)四舍五入round

1、前言 将浮点数定量化为定点数时&#xff0c;有一个避不开的问题&#xff1a;某些小数是无法用有限个数的2进制数来表示的。比如&#xff1a; 0.5(D) 0.1(B) 0.1(D) 0.0001100110011001~~~~(B) 可以看到0.5是可以精准表示的&#xff0c;但是0.1却不行。原因是整数是离散的…

AngusTester安装请求代理

一、介绍 请求代理程序(AngusProxy)提供两个方面作用&#xff1a; 代理Http和WebSocket协议接口调试请求&#xff0c;解决浏览器跨域限制问题。对代理请求客户化处理支持&#xff0c;允许用户对代理请求进行二次处理&#xff0c;如&#xff1a;请求参数签名。 二、类型 为了…

【经验01】spark执行离线任务的一些坑

项目背景: 目前使用spark跑大体量的数据,效率还是挺高的,机器多,120多台的hadoop集群,还是相当的给力的。数据大概有10T的量。 最近在出月报数据的时候发现有一个任务节点一直跑不过去,已经超过失败次数的阈值,报警了。 预警很让人头疼,不能上班摸鱼了。 经过分析发现…

多个glibc库存在时如何查看ldd调用的哪个

但是发现存在多个版本的glibc版本&#xff0c;需要查看具体的库的信息&#xff0c;和相应的关键函数的信息&#xff0c;但是并不知道具体的libc.so.6的路径信息 rootalg-dev04:~/xingqiao# ldd --version ldd (GNU libc) 2.29 rootalg-dev04:/opt# which ldd /usr/local/bin/…

工厂自动化升级改造(2)-RS485与Modbus通信协议

在工业控制、电力通信、智能仪表等领域,数据交换通常依赖于串口通信。最初,RS232接口是主流选择,然而,由于工业现场的复杂性,各种电气设备产生的电磁干扰可能导致信号传输错误。 RS232和RS485是两种不同的串行通信协议,它们在电气特性、传输距离和拓扑结构等方面有所不同…