Spring Boot--03--POM.xml文件说明

SpringBoot框架高级说明

1 parent标签的作用

Spring Boot--03--POM.xml文件说明_第1张图片

2 关于maven 插件的说明

Spring Boot--03--POM.xml文件说明_第2张图片

3 关于Maven 属性的配置

Spring Boot--03--POM.xml文件说明_第3张图片

4 关于Maven依赖说明

4.1 依赖与本地仓库的关系

Spring Boot--03--POM.xml文件说明_第4张图片
2).本地仓库内容
Spring Boot--03--POM.xml文件说明_第5张图片
3).规则说明
如果以后下载jar包时,遇到maven依赖异常.则首先查询本地仓库中是否有该jar包的完整版本.
如果发现jar包文件下载不完全,则需要删除之后重新下载.

4.2 jar包与jar包之间的依赖传递性说明

1.说明: maven具有jar包的依赖性
例如: A.jar---->B.jar ------> C.jar
只要导入A.jar 那么b/c都会自动的完成依赖

Spring Boot--03--POM.xml文件说明_第6张图片
2).检查POM.xml文件
说明:由于maven加载jar包之后还会去加载该jar包文件的POM文件,如果该POM文件中依赖了其他的jar包,那么maven也会自动的进行加载.
Spring Boot--03--POM.xml文件说明_第7张图片

第一部分,项目坐标,信息描述等

<modelVersion>4.0.0</modelVersion>
	<groupId>com.jt</groupId>
	<artifactId>jt</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<!--pom标识 我是一个聚合工程,在内部可以添加好多项目.形成父子级关系 -->
	<packaging>pom</packaging>

group id:com.公司名.项目名

artifact id:功能模块名

version: artifact模块的版本

packaging:项目打包的后缀,war是web项目发布用的,默认为jar

name和url:相当于项目描述,可删除

group id + artifact id +version :项目在仓库中的坐标

parent 标签

利用parent标签,springBoot项目整合了其他框架的包及具体的配置都在parent中进行了定义.定义了版本包信息.

<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.3.2.RELEASE</version>
		<relativePath /> <!-- lookup parent from repository -->
	</parent>

properties 标签

当前maven配置信息

<properties>
		<java.version>1.8</java.version>
		<!-- 指定maven插件版本 -->
		<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
		<!-- 跳过测试类打包 -->
		<skipTests>true</skipTests>
	</properties>

第二部分,引入jar包

dependency:引入资源jar包到本地仓库,要引入更多资源就在中继续增加

group id:com.公司名.项目名

artifact id:功能模块名

scope:作用范围,test指该jar包仅在maven测试时使用,发布时会忽略这个包。需要发布的jar包可以忽略这一配置

version: artifact模块的版本


group id+artifact id+version:资源jar包在仓库中的坐标

刚开始本地仓库是空的,maven会从远程仓库自动下载这个jar到本地仓库,下载完后,就可以在项目中使用这个jar了

如果将的内容删除,xxxx.jar也会自动消失,无法使用

<dependency>
  <dependency>
			<!--ID:一般公司域名倒写 -->
			<groupId>org.springframework.boot</groupId>
			<!--项目名称 -->
			<!--SpringMVC的配置信息 jar 配置文件 开箱即用的效果 定义 -->
			<artifactId>spring-boot-starter-web</artifactId>
			<!--项目版本号 -->
			<!-- <version>父级中进行了定义</version> -->
		</dependency>

常见依赖类型

父级工程pom.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">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>jt</artifactId>
    <version>1.0-SNAPSHOT</version>
    <modules>
        <module>jt-common</module>
        <module>jt-manage</module>
        <module>jt-web</module>
        <module>jt-cart</module>
        <module>jt-sso</module>
        <module>jt-order</module>
      
    </modules>
    <packaging>pom</packaging>

    <!--1.引入springBoot 父级项目-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.4.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <!--2.引入属性的配置-->
    <properties>
        <java.version>1.8</java.version>
        <!--跳过测试类打包-->
        <skipTests>true</skipTests>
    </properties>

    <!--3.在父级项目中添加jar包文件-->
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <!--引入插件lombok 自动的set/get/构造方法插件  -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>

        <!--引入数据库驱动 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>

        <!--springBoot数据库连接  -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>

        <!--spring整合mybatis-plus -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.2.0</version>
        </dependency>

        <!--springBoot整合JSP添加依赖  -->
        <!--servlet依赖 -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
        </dependency>

        <!--jstl依赖 -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
        </dependency>

        <!--使jsp页面生效 -->
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
        </dependency>

        <!--支持热部署 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
        </dependency>

        <!--添加httpClient jar包 -->
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
        </dependency>

        <!--引入dubbo配置 -->
        <dependency>
            <groupId>com.alibaba.boot</groupId>
            <artifactId>dubbo-spring-boot-starter</artifactId>
            <version>0.2.0</version>
        </dependency>

        <!--添加Quartz的支持 -->
        <!-- <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-quartz</artifactId>
         </dependency>-->

        <!-- 引入aop支持 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-aop</artifactId>
        </dependency>

        <!--spring整合redis -->
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-redis</artifactId>
        </dependency>
    </dependencies>
</project>


# 第三部分,构建项目

```javascript

	
		helloworld
		
			
				org.apache.maven.plugins
				maven-compiler-plugin
				3.5.1
				
					1.7
					1.7
				
			
			
				org.apache.maven.plugins
				maven-resources-plugin
				3.0.1
				
					UTF-8
				
			
		
	

build:项目构建时的配置

finalName:在浏览器中的访问路径,如果将它改成helloworld,再执行maven–update,这时运行项目的访问路径是

http://localhost:8080/helloworld/ 而不是项目名的 http://localhost:8080/test

plugins:插件,之前篇章已经说过,第一个插件是用来设置java版本为1.7,第二个插件是我刚加的,用来设置编码为utf-8

group id+artifact id+version:插件在仓库中的坐标

configuration:设置插件的参数值

添加依赖的方式

EditStarters插件

Spring Boot--03--POM.xml文件说明_第8张图片
Spring Boot--03--POM.xml文件说明_第9张图片

Spring Boot--03--POM.xml文件说明_第10张图片

官方maven仓库

https://mvnrepository.com/

Spring Boot--03--POM.xml文件说明_第11张图片
Spring Boot--03--POM.xml文件说明_第12张图片

你可能感兴趣的:(Spring基础知识--SSM,spring,boot,xml,后端)