IDEA版SSM入门到实战(Maven+MyBatis+Spring+SpringMVC) -Maven核心概念

一.Maven的POM

  • POM全称:Project Object Model【项目对象模型】,将项目封装为对象模型,便于使用Maven管理【构建】项目

  • pom.xml常用标签

    xml 复制代码
    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <!--    设置父工程坐标-->
        <parent>
            <artifactId>maven_demo</artifactId>
            <groupId>com.atguigu</groupId>
            <version>1.0-SNAPSHOT</version>
        </parent>
        <modelVersion>4.0.0</modelVersion>
    
        <artifactId>maven_helloworld</artifactId>
    
        <dependencies>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.12</version>
                <scope>test</scope>
            </dependency>
        </dependencies>
    </project>

二. Maven约定的目录结构

  • 项目名
    • src【书写java源代码】
      • main【书写java主程序代码】
        • java【书写java代码】
        • resources【书写配置文件代码】
      • test【书写测试代码】
        • java【书写测试java代码】
    • pom.xml【书写配置文件代码】
    • target【编译后目录结构】

三. Maven生命周期

  • Maven生命周期:按照顺序执行各个命令,Maven生命周期包含以下三个部分组成
    • Clean LifeCycle:在进行真正的构建之前进行一些清理工作。
    • Default LifeCycle:构建的核心部分,编译,测试,打包,安装,部署等等。
    • Site LifeCycle:生成项目报告,站点,发布站点。

四. Maven插件和目标

  • 插件:插件本质是由jar包和配置文件组成
  • 目标:每个插件都能实现多个功能,每个功能就是一个插件目标。

五. Maven的仓库【重要】

  • 仓库分类
    • 本地仓库:为当前计算机提供maven服务
    • 远程仓库:为其他计算机也可以提供maven服务
      • 私服:架设在当前局域网环境下,为当前局域网范围内的所有Maven工程服务。
      • 中央仓库:架设在Internet上,为全世界所有Maven工程服务。
      • 中央仓库的镜像:架设在各个大洲,为中央仓库分担流量。减轻中央仓库的压力,同时更快的响应用户请求。
  • 仓库中的文件类型【jar包】
    • Maven的插件
    • 第三方框架或工具的jar包
    • 自己研发的项目或模块

六. Maven的坐标【重要】

  • 作用:使用坐标引入jar包

  • 坐标由g-a-v组成

    1groupId:公司或组织的域名倒序+当前项目名称

    2artifactId:当前项目的模块名称

    3version:当前模块的版本

  • 注意

    • g-a-v:本地仓库jar包位置
    • a-v:jar包全名
  • 坐标应用

    • 坐标参考网址:http://mvnrepository.com

    • 语法,示例

      xml 复制代码
      <dependencies>
          <dependency>
              <groupId>junit</groupId>
              <artifactId>junit</artifactId>
              <version>4.12</version>
              <scope>test</scope>
          </dependency>
      
          <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
          <dependency>
              <groupId>javax.servlet</groupId>
              <artifactId>javax.servlet-api</artifactId>
              <version>4.0.1</version>
              <scope>provided</scope>
          </dependency>
      
          <!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
          <dependency>
              <groupId>org.springframework</groupId>
              <artifactId>spring-context</artifactId>
              <version>5.3.17</version>
          </dependency>
      </dependencies>
相关推荐
豆角焖肉1 小时前
MyBatis延迟加载、缓存机制与注解开发
java·spring·mybatis
令狐前生1 天前
Intellij IDEA 2025 破解安装
java·ide·intellij-idea
数聚天成DeepSData1 天前
数聚天成 DeepSData 数据价值落地实战指南
java·maven·devops
就改了1 天前
MyBatis核心类用法详解
java·spring boot·后端·mybatis
223糖1 天前
Idea,pycharm2026激活保姆级教程
java·ide·intellij-idea
自强的小白2 天前
maven高级(聚合和私服)以及私服的上传和下载
java·maven
harmful_sheep2 天前
maven多版本包导致java.lang.NoClassDefFoundError
java·maven
momo3 天前
Java+WebAI黑马知识点
java·spring boot·mybatis
摇滚侠3 天前
Codebuddy 官网 Codebuddy IntelliJ IDEA 插件 阅读笔记 2
java·笔记·intellij-idea
snow@li3 天前
MyBatis:动态 SQL 全景梳理
数据库·sql·mybatis