SSM编程---Day 01

news2024/9/20 20:50:10

目录

一、Maven简介

(一)软件开发中的阶段

(二)Maven能做什么

(三)没有使用maven怎么管理依赖

(四)什么是maven

(五)maven中的概念

二、Maven的核心概念

(一)约定的目录结构

(二)POM

(三)坐标

(四)依赖 dependency

(五)仓库

三、依赖管理

四、Mybatis

一、Maven简介

(一)软件开发中的阶段

        1.需要分析: 分析项目具体完成的功能,有什么要求, 具体怎么实现。
        2.设计阶段:根据分析的结果, 设计项目使用的什么技术, 解决难点。
        3.开发阶段:编码实现功能。 编译代码,自我测试。
        4.测试阶段:专业的测试人员,测整个项目的功能十分符合设计要求。出一个测试报告。
        5.项目的打包,发布阶段: 给用户安装项目

(二)Maven能做什么

        1.项目的自动化构建工具,帮助开发人员搭建整个项目的整体结构,以及代码的编译,测试, 打包,安装,部署等工作。
        2.管理依赖(管理项目中使用的各种jar 包)。
        依赖:项目中需要使用的其他资源, 常见的是 jar 。 比如项目要使用 mysql 驱动。我们就说项目依赖 mysql 驱动。

(三)没有使用maven怎么管理依赖

        管理jar ,需要从网络中单独下载某个 jar,需要选择正确版本,手工处理jar 文件之间的依赖。  

(四)什么是maven

        maven是 apache 基金会的开源项目,使用 java 语法开发。 Maven 这个单词的本意是:专家,内行。读音是 ['meɪ v( ə )n] ['mevn] maven 是项目的自动化构建工具。 管理项目的依赖。
        1、 自动化构建项目: 结构都设计好了,哪些地方放源码,哪些地方放置测试代码。
        2、 管理项目中的依赖: pom 文件

(五)maven中的概念

        1、POM
        2、约定的目录结构
        3、坐标
        4、依赖管理
        5、仓库管理
        6、生命周期
        7、插件和目标
        maven的下载以及配置这里就不做赘述,可以在站内搜索相关教程。

二、Maven的核心概念

(一)约定的目录结构

        maven项目使用的大多人 遵循的目录结构。 叫做约定的目录结构。
        一个maven 项目是一个文件夹。 比如项目叫做 Hello

maven的使用方式:

(1)maven 可以独立使用: 创建项目,编译代码,测试程序,打包,部署等等
(2)maven和 idea 一起使用:通过 idea 借助 maven ,实现编码,测试,打包等等

(二)POM

        POM: Project Object Model 项目对象模型, maven 把项目当做模型处理。 操作这个模型就是操作项目。
        maven通过 pom.xml 文件实现项目的构建和依赖的管理。

(三)坐标

        坐标组成是 groupid, artififiactId, version ·
        坐标作用:确定资源的,是资源的唯一标识。 在maven 中,每个资源都是坐标。 坐标值是唯一的。简称叫 gav
        packaging 项目打包的类型, 有 jar war ear pom 等等 默认是 jar
        项目使用gav
        1.每个 maven 项目,都需要有一个自己的 gav
        2.管理依赖,需要使用其他的 jar ,也需要使用 gav 作为标识。

(四)依赖 dependency

        依赖:项目中要使用的其他资源(jar )。
        需要使用maven 表示依赖,管理依赖。 通过使用 dependency gav 一起完成依赖的使用。需要在pom.xml 文件中,使用 dependencies dependency , 还有 gav 完成依赖的说明。

(五)仓库

        仓库是存东西的,maven 的仓库存放的是:
        1. maven工具自己的 jar 包。
        2. 第三方的其他 jar , 比如项目中要使用 mysql 驱动。
        3. 自己写的程序,可以打包为 jar 。 存放到仓库。
        仓库的分类:
        1. 本地仓库(本机仓库): 位于自己的计算机, 它是磁盘中的某个目录。
        本地仓库:默认路径,是登录操作系统的账号的目录中/.m2/repository
        修改本地仓库的位置:修改maven 工具的配置文件( maven 的安装路径 \conf\setting.xml
        步骤:
        (1)创建一个目录,作为仓库使用。 目录不要有中文和空格。 目录不要太深。
        (2)修改 setting.xml 文件,指定 目录
        2. 远程仓库: 需要通过联网访问的
        (1)中央仓库: 一个 ftp 服务器, 存放了所有的资源。
        (2)中央仓库的镜像: 就是中央仓库的拷贝。 在各大主要城市都有镜像。
        (3)私服:在局域网中使用的。 私服就是自己的仓库服务器。 在公司内部使用的。
        maven使用仓库: maven 自动使用仓库, 当项目启动后, 执行了 maven 的命令, maven 首先访问的是本地仓库,从仓库中获取所需的jar , 如果本地仓库没有 ,需要访问私服或者中央仓库或者镜像。

三、依赖管理

        依赖范围:使用scope 表示依赖的范围。 (变量的作用域)
        依赖范围表示: 这个依赖(jar 和里面类)在项目构建的那个阶段起作用。
        依赖范围scope
        1、compile:默认, 参与构建项目的所有阶段
        2、test:测试,在测试阶段使用, 比如执行 mvn test 会使用 junit
        3、provided: 提供者。 项目在部署到服务器时,不需要提供这个依赖的 jar , 而是由服务器这个依赖的 jar 包明显的是servlet jsp 依赖

四、Mybatis

        1、为什么使用框架:
        提高开发效率
        减少错误的出现
        2、什么是框架:
        是一个别人写好的项目。(半成品的东西)
        提供一些可以重复使用的公共结构, 工具类,效率,安全,多线程
        按照一定的规则。(规矩)
        3、框架的优点:
        不需要我们在为重复使用的内容去浪费大量的时间。
        新手也容易学习和使用
        专心在业务实现上
        4、持久化
        瞬时状态(内存)和持久化状态(硬盘)之间的 转换关系
        瞬时状态 ------------- 》持久化状态 (增删修)
        持久化状态---------- 》瞬时状态 (查)
        5、 ORM Object Relative Mapping ) 对象关系映射
        6、 MyBatis的优点:
        半自动(sql 语句需要自己去写)化的 ORM 框架 ,全自动( hibernate)化的 ORM 框架, HQL 动态SQL

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

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

相关文章

【面试题】计算机网络面试实战

version:1.0 文章目录 计算机网络网络分层模型🙎‍♂️面试官:网络为什么要分层?🙎‍♂️面试官:TCP/IP 各层的结构与功能?🙎‍♂️面试官:OSI体系模型的结构和功能&…

AI歌手是否能够取代传统歌手,成为主流音乐的新宠?

⭐ “AI歌手”走红背后:谁在训练它?歌迷为何爱听?⭐ 这种新型演艺模式能否获得广泛的市场认可?⭐ AI歌手会取代流行歌手成为主流吗?⭐ AI还在哪些方面有应用呢? 你听过AI歌手吗?近日&#xff0c…

机器学习 | 降维:PCA主成分分析

本文整理自 长路漫漫2021的原创博客:sklearn基础篇(九)-- 主成分分析(PCA)李春春_的原创博客:主成分分析(PCA)原理详解bilibili视频:用最直观的方式告诉你:什…

结构体入门调试技巧

目录 前言: 一.结构体 1.1结构体的初始化和访问 二.结构体传参 三.调试技巧 3.1VS里的版本 3.2调试功能介绍 四.好代码 4.1const修饰指针的两种位置 五.错误分类 ❤博主CSDN:啊苏要学习 ▶专栏分类:C语言◀ C语言的学习,是为我们今…

蓝桥杯2019年省赛——扫地机器人

题目描述 小明公司的办公区有一条长长的走廊,由 NN 个方格区域组成,如下图所示。 走廊内部署了 K 台扫地机器人,其中第 i 台在第Ai​ 个方格区域中。已知扫地机器人每分钟可以移动到左右相邻的方格中,并将该区域清扫干净。 请你…

Java企业级开发学习笔记(4.1)Spring Boot入门程序

该文章主要为完成实训任务,详细实现过程及结果见【http://t.csdn.cn/Qh554】 文章目录 一、使用Maven方式构建Spring Boot项目1.1 创建Maven项目1.2 添加依赖1.3 创建入口类1.4 创建控制器1.5 运行入口类1.6 访问Web页面1.7 修改访问映射路径1.8 定制启动标语1.8.1 …

UE5.1.1C++从0开始(10.作业三)

这次作业量和之前的相比可能会有点大,我先整理一下这次的作业清单: 魔法子弹的飞行声音以及爆炸声音给玩家增加受击的闪亮的效果,和立方体相同的那种增加一个health max的变量,把widget里头的health节点更换为health max节点&…

PythonOCR识别扫描版纯图PDF提取汉字的10大方法,力推RapidOCRPDF 可识别纯图PDF 加密签名的PDF 重点是开源免费,某些方面准确度比百度OCR高

下面实例都以下面的测试样例PDF为实验对象 非纯图可复制pdf 纯图PDF TOP1:RapidOCRPDF 可识别纯图PDF也能识别加密签名的PDF 重点是开源免费 https://github.com/RapidAI/RapidOCRPDF # 基于rapidocr_onnxruntime pip install rapidocr_pdf[onnxruntime]# 基于ra…

多体动力学:哈密尔顿原理的使用

参考资料: HAMILTON’S PRINCIPLE AND HAMILTON’S FORMULATION 原理已经讲得很详细了。如果看不到可以见我的资源,不用积分就可以下载。 步骤: 1.写出拉格朗日表达式 L T − V LT-V LT−V, T T T是系统的动能, V V V是系统的…

二进制安装1.26版本k8s(docker)

文章目录 前言准备工作准备4台虚拟机说明下载对应的二进制包初始化操作CentOS7配置yum源配置免密、修改hostname、关闭防火墙、selinux、关闭swap分区(方便后面进行其它操作)下载软件包并批量安装配置时间同步配置打开文件描述符添加ipvs模块和内核模块 Ubuntu配置apt源配置免密…

【数据结构】---堆排序+TOP-K问题(了解游戏排行底层原理)

文章目录 前言🌟一、建堆的两种方式:🌏1.1 向上调整建堆(堆排序):💫1.1.1 完整代码:💫1.1.2 流程图(以小堆为例):升序:建大堆💫1.1.3 流程图(以小堆为例)&…

python调用海康视频汇聚平台API,获得所有摄像头设备编号、实时播放rtsp地址、回放rtsp地址

目录 1. 需求2. 思路3. 实现3.1. 确保服务器上安装视频汇聚平台(iSecure Center)3.2. 查看API网关是否安装成功3.3. 分配身份认证信息AK/SK3.4. 利用认证信息,python demo开发 1. 需求 海康视频汇聚平台(综合安防管理平台(iSecur…

机器学习之集成学习

一、介绍 集成学习(Ensemble Learning)是一种机器学习技术,通过结合多个学习器(例如决策树、神经网络、支持向量机等)的预测结果,来达到更好的分类或回归预测性能。集成学习可以通过降低模型的方差&#x…

探究 Android 14 新功能之 TextView 搜索高亮和焦点移动~

前言 之前写的文章《Android 14 新功能之 HighLights》里,讲到 Android 14 里推出的 HighLights 新功能可以快速实现 TextView 文字的高亮效果,并支持动态更新。 本文将继续介绍 TextView 的另 2 处新功能: 使用 searchResultHighlight 等…

(转载)从0开始学matlab(第14天)—while循环结构

循环(loop) 是一种 matlab 结构,它允许我们多次执行一系列的语句。循环结构有两种基本形式 :while 循环和 for 循环。两者之间的最大不同在于代码的重复是如何控制的。在while 循环中,代码的重复的次数是不能确定的,只要满足用户定义的条件…

Metabase可视化BI系统部署安装及简单使用

metabase 是国外开源的一个可视化系统,语言使用了Clojure TypeScript。 Clojure(/ˈkloʊʒər/)是Lisp程式語言在Java平台上的現代、動態及函數式方言。来自维基百科。 我也是第一次看到这个语言,知道它是可以运行在Java环境上的…

脱离文档流和半脱离文档流(详解)

脱离文档流和半脱离文档流(详解)_脱离文档流是什么意思_大前端工程师的博客-CSDN博客 脱离文档流 脱离文档流是指,该元素脱离了文档中。不再占据默认分配的空间,它下面的元素会上去补位。 可以理解为脱离文档流的元素离开了它的座…

1720_Linux学习中的问题处理

全部学习汇总:GreyZhang/little_bits_of_linux: My notes on the trip of learning linux. (github.com) 这个有点学习的方法论的意思,画个滋味导图顺便整理一下。 遇到问题的时候,解决的方法大致有3中,而针对学习的建议有一部分是…

STL-queue和priority_queue的模拟实现

回顾 对于STL,我们已经知道了vector和list,而它们是STL中被称为六大组件之一的容器,我们还学习了模拟实现stack,而stack在STL中被称为六大组件之一的适配器,今天,我们来学习queue的模拟实现和priority_que…

分布式运用之ELK企业级日志分析系统

1.ELK的相关知识 1.1 ELK的概念与组件 ELK平台是一套完整的日志集中处理解决方案,将 ElasticSearch、Logstash 和 Kiabana 三个开源工具配合使用, 完成更强大的用户对日志的查询、排序、统计需求。 ElasticSearch: 是基于Lucene&#xff0…