From 118375344aecf71121736782a9146d27ab195dcb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=98=8E=E5=87=BD?= <3084917167@qq.com> Date: Thu, 21 Dec 2023 05:22:20 +0000 Subject: [PATCH 1/3] =?UTF-8?q?=E6=96=B0=E5=BB=BA=2002=20=E9=99=88?= =?UTF-8?q?=E6=98=8E=E5=87=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "02 \351\231\210\346\230\216\345\207\275/.keep" | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 "02 \351\231\210\346\230\216\345\207\275/.keep" diff --git "a/02 \351\231\210\346\230\216\345\207\275/.keep" "b/02 \351\231\210\346\230\216\345\207\275/.keep" new file mode 100644 index 0000000..e69de29 -- Gitee From a60e9abc0bd70f3abdb9eec1930a7071ab64a28d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=98=8E=E5=87=BD?= <3084917167@qq.com> Date: Thu, 21 Dec 2023 05:22:46 +0000 Subject: [PATCH 2/3] =?UTF-8?q?02=20=E9=99=88=E6=98=8E=E5=87=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 陈明函 <3084917167@qq.com> --- .../1220\347\254\224\350\256\260.md" | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 "02 \351\231\210\346\230\216\345\207\275/1220\347\254\224\350\256\260.md" diff --git "a/02 \351\231\210\346\230\216\345\207\275/1220\347\254\224\350\256\260.md" "b/02 \351\231\210\346\230\216\345\207\275/1220\347\254\224\350\256\260.md" new file mode 100644 index 0000000..4d25a24 --- /dev/null +++ "b/02 \351\231\210\346\230\216\345\207\275/1220\347\254\224\350\256\260.md" @@ -0,0 +1,56 @@ +````Java + SSM框架整合课堂笔记 + +Maven:专门用于管理和构建Java项目的工具 + +1.提供了一套标准化的项目结构 + +2.提供了一套标准化的构建流程(编译、测试、打包、发布...) + +3.提供了一套依赖管理机制 + + + +ApacheMaven是一个项目管理和构建工具,它基于项目对象 + + + +Maven模型: + +项目对象模型 + +依赖管理模型 + +插件 + + + +仓库: + +1.本地仓库:自己计算机上的一个目录 + +2.由Maven团队维护的全球唯一的仓库 + +3.远程仓库(私服):一般由公司团队搭建的私有仓库 + + + +坐标分的组成三部分: + +groupld:哪个组织开发的,组织名称 + +artifactID 工作ID:开发的什么项目,项目名称 + +version:哪个版本,版本号 + + + +专门用来查询maven坐标的网址: + +https://mvnrepository.com/ + + + +快捷引入坐标的方式:在pom.xml中按alt+insert,选择Dependency +```` + -- Gitee From 5052479d97fb68c7ce328b9109f6262993adf8c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=98=8E=E5=87=BD?= <3084917167@qq.com> Date: Thu, 21 Dec 2023 15:51:55 +0000 Subject: [PATCH 3/3] =?UTF-8?q?02=20=E9=99=88=E6=98=8E=E5=87=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 陈明函 <3084917167@qq.com> --- .../1221\347\254\224\350\256\260.md" | 110 ++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 "02 \351\231\210\346\230\216\345\207\275/1221\347\254\224\350\256\260.md" diff --git "a/02 \351\231\210\346\230\216\345\207\275/1221\347\254\224\350\256\260.md" "b/02 \351\231\210\346\230\216\345\207\275/1221\347\254\224\350\256\260.md" new file mode 100644 index 0000000..18fdcf5 --- /dev/null +++ "b/02 \351\231\210\346\230\216\345\207\275/1221\347\254\224\350\256\260.md" @@ -0,0 +1,110 @@ +````Java +### 笔记 + + + +Maven是专门用于管理和构建Java项目的工具,它的主要功能有: +1.提供了一套标准化的项目结构 + +2.提供了一套标准化的构建流程(编译,测试,打包,发布……) + +3.提供了一套依赖管理机制 + +![screenshot20231219](https://gitee.com/yan-jizhou/picgo-chart-bed/raw/master/pic/202312191818920.png) + +解压 apache-maven-3.6.1.rar 既安装完成 + +![screenshot20231219 (1)](https://gitee.com/yan-jizhou/picgo-chart-bed/raw/master/pic/202312191820040.png) + +bin目录 : 存放的是可执行命令。mvn 命令重点关注。 +conf目录 :存放Maven的配置文件。 settings.xml 配置文件后期需要修 +改。 +lib目录 :存放Maven依赖的jar包。Maven也是使用java开发的,所以它也 +依赖其他的jar包。 + +配置本地仓库 +修改 conf/settings.xml 中的 为一个指定目录作为本地仓库,用来存储jar包。 +配置阿里云私服 +中央仓库在国外,所以下载jar包速度可能比较慢,而阿里公司提供了一个远程仓 +库,里面基本也都有开源项目的jar包。 +修改 conf/settings.xml 中的 标签,为其添加如下子标签: + +```xml + +aliyunmaven +* +阿里云公共仓库 +https://maven.aliyun.com/repository/public + +``` + +1.4.2 Maven 坐标详解 +什么是坐标? +Maven 中的坐标是==资源的唯一标识== +使用坐标来定义项目或引入项目中需要的依赖 +Maven 坐标主要组成 +groupId:定义当前Maven项目隶属组织名称(通常是域名反写,例如: +com.mdd) +artifactId:定义当前Maven项目名称(通常是模块名称,例如 order-service、 +goods-service) +version:定义当前项目版本号 +如下图就是使用坐标表示一个项目: +==注意:== +上面所说的资源可以是插件、依赖、当前项目。 +我们的项目如果被其他的项目依赖时,也是需要坐标来引入的。 + +通过设置坐标的依赖范围(scope),可以设置 对应jar包的作用范围:编译环境、测试 +环境、运行环境。 +如下图所示给 junit 依赖通过 scope 标签指定依赖的作用范围。 那么这个依赖就 +只能作用在测试环境,其他环境下不能使用。 + +![screenshot20231219 (2)](https://gitee.com/yan-jizhou/picgo-chart-bed/raw/master/pic/202312191836991.png) + +那么 scope 都可以有哪些取值呢? + +| 依赖范围 | 编译classpath | 测试classpath | 运行classpath | 例子 | +| -------- | ------------- | ------------- | ------------- | ----------------- | +| compile | Y | Y | Y | logback | +| test | - | Y | - | Junit | +| provided | Y | Y | - | servlet-api | +| runtime | - | Y | Y | jdbc驱动 | +| system | Y | Y | - | 存储在本地的jar包 | + +compile :作用于编译环境、测试环境、运行环境。 +test : 作用于测试环境。典型的就是Junit坐标,以后使用Junit时,都会将scope +指定为该值 +provided :作用于编译环境、测试环境。我们后面会学习 servlet-api ,在使 +用它时,必须将 scope 设置为该值,不然运行时就会报错 +runtime : 作用于测试环境、运行环境。jdbc驱动一般将 scope 设置为该值, +当然不设置也没有任何问题 +注意: +如果引入坐标不指定 scope 标签时,默认就是 compile 值。以后大部分 +jar包都是使用默认值 + +### 作业 + +```java +import org.junit.Test; + +public class AppTest { +@Test + public void test01(){ + System.*out*.println("我是test作用域的一个功能"); + }; + @Test + public void test02(){ + System.*out*.println("受限于pom.xml,我只能在test包里有效!"); + } +}; +``` + +pom.xlm + +![image-20231219183836197](https://gitee.com/yan-jizhou/picgo-chart-bed/raw/master/pic/202312191838470.png) + +AppTest + +![image-20231219183921497](https://gitee.com/yan-jizhou/picgo-chart-bed/raw/master/pic/202312191839952.png) +\ No newline at end of file +```` + -- Gitee