JavaEE概述 + Maven
文章目录
- 一、JavaEE 概述
- 二、工具 --- Maven
- 2.1 Maven功能 + 仓库 + 坐标
- 2.2 Maven之项目构建
- 2.3 Maven之依赖管理
- 三、插件 --- Maven Helper
一、JavaEE 概述
- Java SE、JavaEE:
- Java SE:指Java标准版,适用于各行各业,主要是Java基础、语法等等,所以多线程,网络编程之类的都算是JavaSE的内容。
- Java EE:指Java企业版,主要面向企业开发
- 学习内容:框架、插件、工具、企业规范(一个功能按照企业的规范去实现)
- 四个框架:Spring、Spring Boot、Spring MVC、Mybatis。其中前三个都是Spring 家族的产品。Mybatis则是一个持久层框架,主要用来帮助我们更好地操作数据库。
- 什么是Spring:Spring 是基于Servlet的一个框架
- 什么是框架:
- 原理:由于一个项目的实现是有很多共性的操作的,为了提高代码编写效率,我们将这些共性的共性抽取出来,而这提取出的共性的东西,就是【框架】
- 框架相当于一个实现了部分功能的半成品(毛胚房),而想要达到最后实装的效果,就需要我们在这个半成品的基础上自定义装修
二、工具 — Maven
2.1 Maven功能 + 仓库 + 坐标
-
Maven 功能:Maven是一个项目管理工具,我们主要使用其【项目构建】和【依赖管理】这两个功能
-
坐标:相当于一个描述,我们可以根据这个描述在仓库里找到对应的 jar包
-
仓库:jar包去下载的位置,分为中央仓库、本地仓库、私服
- 中央仓库:全球唯一一个,服务器在国外
中央仓库地址
可以通过这个网址去中央仓库下载 - 本地仓库:“自己的仓库”,我们用到的所有的jar包,都会在本地仓库存着。
- 类似于【缓存】,在去私服/中央仓库下载之前,先看本地仓库里有没有这个 jar包
- 私服:即私有服务器,一般是企业在用,用来给具有权限的人使用(中央仓库里的包是程序员上传上去的,但如果有些包不想开源,又想给有权限的人使用,就可以放到私服里)
- 仓库的下载顺序:

- 中央仓库:全球唯一一个,服务器在国外
-
如何配置仓库:
- User settings file:settings 文件代表了 Maven相关的配置信息。我们的依赖要去哪里下载,完全取决于settings里的配置。
- 配置国内源:修改settings文件,往里面添加其他开源仓库,如阿里云镜像

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

2.2 Maven之项目构建
- 如何创建一个Maven项目:

- Maven项目 ---- 关于Maven的命令

2.3 Maven之依赖管理
-
概述:通过修改pom.xml文件的配置来获取依赖
- 什么是依赖:项目运行过程中需要的第三方库、框架等
-
Maven 对依赖的处理:依赖传递、依赖排除
- 依赖传递:可以把依赖的依赖导进去,避免出错
- 依赖排除:我们可以通过< exclusion>手动把我们认为不需要的包给排除掉
- 场景:当整个项目十分复杂,引入了不同版本的同一个包,此时我们就需要手动排除一个,以避免冲突

- 场景:当整个项目十分复杂,引入了不同版本的同一个包,此时我们就需要手动排除一个,以避免冲突
-
关于导入依赖:
- 手动导入:提前把第三方要引入的包下好,然后手动添加进去

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

三、插件 — Maven Helper
- 作用:帮助我们分析Maven管理下的包相互之间的依赖关系。以便我们更好地操作“依赖传递”和 “依赖排出”
- 插件的安装:下载完插件后,需要重启IDEA。重启之后,pom.xml下就会出现【依赖分析】

- 插件的使用:

相关文章:
JavaEE概述 + Maven
文章目录 一、JavaEE 概述二、工具 --- Maven2.1 Maven功能 仓库 坐标2.2 Maven之项目构建2.3 Maven之依赖管理 三、插件 --- Maven Helper 一、JavaEE 概述 Java SE、JavaEE: Java SE:指Java标准版,适用于各行各业,主要是Java…...
python把png转成jpg
在Python中,你可以使用PIL(Python Imaging Library,也称为Pillow)库来读取PNG图片并将其转换为JPG格式。下面是一个简单的示例代码: from PIL import Image# 打开PNG图片 png_image Image.open(input.png)# 保存为JP…...
信息系统架构基本概念及发展_2.信息系统架构的定义
1.几种架构的定义 信息系统架构仍在不断发展中,还没有形成一个公认的定义,这里举出几个定义。 定义1:软件或计算机系统的信息系统架构是该系统的一个(或多个)结构,而结构由软件元素、元素的外部可见…...
ctfshow SSRF 351-358
做题前,需要先学习关于ssrf漏洞的相关知识 小注意: 当使用 file_get_contents() 函数访问远程 URL 时,它会尝试获取该 URL 指向的资源的内容,并将内容以字符串的形式返回。 如果 b.php 文件是一个 PHP 文件,它包含的内容取决于该 PHP 文件…...
优化学习方法,事半功倍
学习,是人一生中必不可少的过程。在学习的道路上,我们会遇到各种各样的挑战和困难,但只要我们能够发现并优化适合自己的学习方法,就能事半功倍,取得更好的成绩。 首先,要充分了解自己的学习方式和习惯。每个…...
Spring STOMP-开启STOMP
通过Spring框架的spring-messaging和spring-websocket模块,提供了对WebSocket上STOMP的支持。一但你添加了这些依赖项,你就可以像下面这个示例一样,通过WebSocket公开一个STOMP端点: import org.springframework.web.socket.conf…...
Python 开发 框架安全:Django SQL注入漏洞测试.(CVE-2021-35042)
什么是 Django 框架 Django 是一个用 Python 编写的 Web 应用程序框架。它提供了许多工具和库,使得开发 Web 应用程序变得更加容易和高效。Django 遵循了“MTV”(模型-模板-视图)的设计模式,将应用程序的不同组件分离开来&#x…...
《Python编程从入门到实践》day25
# 昨日知识点回顾 如何创建多行外星人 碰撞结束游戏 创建game_stats.py跟踪统计信息 # 今日知识点学习 第14章 记分 14.1 添加Play按钮 14.1.1 创建Button类 import pygame.font# button.py class Button:def __init__(self, ai_game, msg):"""初始化按钮…...
Unity 性能优化之光照优化(七)
提示:仅供参考,有误之处,麻烦大佬指出,不胜感激! 文章目录 前言一、测试目的一、实时光源是什么?二、开始测试1.场景中只有一个光照的数值情况2.添加4个点光源后4.结果 总结 前言 实时光源数量越多&#x…...
C语言 | Leetcode C语言题解之第84题柱状图中最大的矩形
题目: 题解: int largestRectangleArea(int* heights, int heightsSize) {int st[heightsSize];int p[2];p[0]-1,p[1]heightsSize;int size0,result0;st[size]0;for(int i1;i<heightsSize;i){ while(size!0&&heights[i]<heights[st[size-1…...
AI办公自动化-用kimi批量重命名Word文档
文件夹里面有很多个word文档,标题里面都含有零代码编程,现在想将其替换为AI办公自动化。 在kimichat中输入提示词: 你是一个Python编程专家,要完成一个编写Python脚本的任务,具体步骤如下: 打开文件夹&am…...
Golang 并发 Mutex 互斥锁的使用
Golang 并发 Mutex 互斥锁的使用 1. 初始化 func TestMutex(t *testing.T) {mu01 : sync.Mutex{}var mu02 sync.Mutex }两种方式都ok 2. Mutex使用 计数器统计,多个协程同时对同一个变量进行 代码示例 var mu sync.Mutex var counter intfunc TestMutexAdd(t…...
20232906 2023-2024-2 《网络与系统攻防技术》第九次作业
20232906 2023-2024-2 《网络与系统攻防技术》第九次作业 1.实验内容 本次实践的对象是一个名为pwn1的linux可执行文件。 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串。 该程序同时包含另一个代码片段,getShell&am…...
常见的十二种软件架构
常用的软件架构有多种,以下是一些主要的软件架构风格: 单体架构(Monolithic Architecture): 描述:所有功能都集中在一个应用或系统中,易于开发和部署,但随着系统增长,可能…...
数据库出现死锁的解决方法参考
死锁引起的原因一般是多个用户并发访问数据库导致的问题,或是因为某个进程挂死以后资源未释放导致的。通过onstat –p可查看deadlks项大于0即表示历史总计死锁次数。对于被锁的表进行操作的时候会出现-143 ISAM error: deadlock detected的错误。当其他会话访问此表…...
HCIP-Datacom-ARST自选题库_01_防火墙【6道题】
一、单选题 1.在防火墙域间安全策略中,请问以下哪一项的数据流不是Outbound方向的? 从Trust区域到DMZ区域的数据流 从Trust区域到Untrust区域的数据流 从Trust区域到Local区域的数据流 从DMZ区域到Untrust区域的数据流 2.如果防火墙域间没有配置安全策路&…...
力扣/leetcode383.比特位记数
题目描述 给你一个整数 n ,对于 0 < i < n 中的每个 i ,计算其二进制表示中 1 的个数 ,返回一个长度为 n 1 的数组 ans 作为答案。 示例 代码思路 第一种方法 最简单的方法就是,遍历然后使用python自带的bin()方法直接…...
react18【系列实用教程】useEffect —— 副作用操作 (2024最新版)
什么是副作用操作? useEffect 用于编写由渲染本身引起的对接组件外部的操作(官方称呼为:副作用操作) 以下情况会触发页面渲染 初次加载页面(组的挂载)响应式变量发生变化,触发页面根据新值重新…...
Excel 分组汇总后删除明细
有 Excel 数据如下所示: IDCriteria1Criteria2Criteria3Criteria4101210271239312381236123171826182918239182120182147 需要按 ID 分组汇总其余列,结果如下: IDCriteria1Criteria2Criteria3Criteria410121027123932561826939267 解法及简…...
docker runc升级1.1.12
上传runc-1.1.12制品至中控机 874e970eaa932a97de9888344ae08f24 runc.arm64 将所有节点的runc文件备份 所有节点(包括master+node) vim host [all] 10.1.0.183 ansible_password=Bigdata@Ksyun123 ansible_user=root ansible_port=22 10.1.0.249 ansible_password=Bigdata…...
Windows 7如何突破Python版本限制?企业级兼容性解决方案指南
Windows 7如何突破Python版本限制?企业级兼容性解决方案指南 【免费下载链接】PythonVista Python 3.9 installers that support Windows 7 SP1 and Windows Server 2008 R2 项目地址: https://gitcode.com/gh_mirrors/py/PythonVista 一、痛点分析ÿ…...
5分钟掌握Fara-7B:微软开源的高效电脑自动操作AI智能代理
5分钟掌握Fara-7B:微软开源的高效电脑自动操作AI智能代理 【免费下载链接】fara Fara-7B: An Efficient Agentic Model for Computer Use 项目地址: https://gitcode.com/gh_mirrors/fara/fara 想要让电脑自动完成重复性任务吗?厌倦了手动操作网页…...
Umi-OCR PDF文字识别全攻略:从技术原理到实战应用
Umi-OCR PDF文字识别全攻略:从技术原理到实战应用 【免费下载链接】Umi-OCR Umi-OCR: 这是一个免费、开源、可批量处理的离线OCR软件,适用于Windows系统,支持截图OCR、批量OCR、二维码识别等功能。 项目地址: https://gitcode.com/GitHub_T…...
解决VSCode远程连接卡在‘Waiting for server log...‘的兼容性问题
1. 问题现象与初步排查 最近在给客户部署远程开发环境时,遇到了一个典型问题:使用VSCode通过SSH连接CentOS 7服务器时,界面一直卡在"Waiting for server log..."状态。这个现象特别常见于使用老旧Linux发行版的开发环境,…...
MOS管LC震荡电路偏置电压调整全攻略:LTspice仿真与实测对比
MOS管LC震荡电路偏置电压调整全攻略:LTspice仿真与实测对比 在电子电路设计中,MOS管LC震荡电路因其结构简单、频率稳定而被广泛应用。然而,要让这种电路发挥最佳性能,偏置电压的精确调整往往成为工程师面临的最大挑战。本文将带您…...
三步搞定图片文字提取:Umi-OCR免费离线OCR工具全攻略
三步搞定图片文字提取:Umi-OCR免费离线OCR工具全攻略 【免费下载链接】Umi-OCR Umi-OCR: 这是一个免费、开源、可批量处理的离线OCR软件,适用于Windows系统,支持截图OCR、批量OCR、二维码识别等功能。 项目地址: https://gitcode.com/GitHu…...
从异或到AES:Java类文件加密的3种实现方式对比(含性能测试)
从异或到AES:Java类文件加密的3种实现方式对比(含性能测试) 在Java开发领域,代码保护始终是开发者关注的焦点。当项目涉及商业机密或核心算法时,防止class文件被反编译成为刚需。本文将深入剖析三种不同安全级别的clas…...
别再只会用按钮上传了!用JEECG的JUpload组件打造更优雅的后台文件管理界面
从按钮到拖拽:用JEECG的JUpload组件重构后台文件管理体验 在后台管理系统开发中,文件上传功能几乎是每个项目都无法绕开的刚需。但你是否注意到,大多数开发者仍然停留在传统的按钮式上传方式?这种"点击-选择-上传"的三部…...
APK Installer技术解析:Windows平台Android应用部署的创新架构
APK Installer技术解析:Windows平台Android应用部署的创新架构 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 在传统Android开发与测试流程中,…...
小白也能玩转AI语音:VoxCPM-1.5-WEBUI快速入门指南
小白也能玩转AI语音:VoxCPM-1.5-WEBUI快速入门指南 1. 为什么选择VoxCPM-1.5-WEBUI? 在AI语音技术日益普及的今天,找到一个既专业又容易上手的文本转语音工具并不容易。VoxCPM-1.5-WEBUI正是为解决这个问题而设计的,它让AI语音合…...
