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组成

    1\]**groupId**:公司或组织的域名倒序+当前项目名称 \[2\]**artifactId**:当前项目的模块名称 \[3\]**version**:当前模块的版本

    • 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>
相关推荐
TimberWill2 小时前
idea、服务器、数据库环境时区不一致问题
服务器·数据库·intellij-idea
杨杨杨大侠2 小时前
附录 1:🚀 Maven Central 发布完整指南:从零到成功部署
java·github·maven
nightunderblackcat5 小时前
新手向:实现验证码程序
java·spring boot·spring·java-ee·kafka·maven·intellij-idea
代码雕刻家6 小时前
3.1.Maven-课程介绍
java·maven
产幻少年9 小时前
maven
java·maven
float_六七15 小时前
IntelliJ IDEA双击Ctrl的妙用
java·ide·intellij-idea
minh_coo19 小时前
Spring框架事件驱动架构核心注解之@EventListener
java·后端·spring·架构·intellij-idea
Java小白程序员21 小时前
MyBatis基础到高级实践:全方位指南(中)
数据库·mybatis
山楂树下懒猴子1 天前
ChatAI项目-ChatGPT-SDK组件工程
人工智能·chatgpt·junit·https·log4j·intellij-idea·mybatis
Chan161 天前
【智能协同云图库】基于统一接口架构构建多维度分析功能、结合 ECharts 可视化与权限校验实现用户 / 管理员图库统计、通过 SQL 优化与流式处理提升数据
java·spring boot·后端·sql·spring·intellij-idea·echarts