maven 中的工程依赖和层级依赖?

Posted zxf6

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了maven 中的工程依赖和层级依赖?相关的知识,希望对你有一定的参考价值。

一、什么是工程依赖?

思考问题?
1.1一旦开始分模块开发的时候,之前的所有包都会被拆分成一个一个的项目
model
mapper
service
...
其实mapper需要model的支持,怎么解决问题?
    【使用工程依赖】

在mapper项目中的pom.xml文件中以jar包的形式引入model项目即可
一旦使用量的工程依赖,就会出现层级依赖

 

简单的依赖,关系图。

web(controller)-----》service--------》mapper-------》model

 

 

1.2具体操作   

package com.aaa.mapper;
import com.aaa.entity.User;
import java.util.List;
/*
*   1.架构之 ,跨域。
*
*   2.思考问题?
    一旦开始分模块开发的时候,之前的所有包都会被拆分成一个一个的项目
    model
    mapper
    service
    ...
    其实mapper需要model的支持,如果解决问题?

        使用工程依赖

        在mapper项目中的pom.xml文件中以jar包的形式引入model项目即可
        一旦使用量的工程依赖,就会出现层级依赖
* */

//定义UserMapper的接口
public interface UserMapper 
    
    //user 是model中的实体类,mapper中创建的 UserMapper 如何使用?  ------- 使用工程依赖
    List<User> selectAll();

 

mapper 的pro.xml配置?  将jar包的形式,引入需要的依赖的项目。

1.公司名          artifactId

2.依赖的项目名    groupId

3.项目名的版本号           version

<?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>DemoSpringBoot</artifactId>
        <groupId>com.aaa</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <artifactId>mapper</artifactId>
    <dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <!--
           层级依赖。   在mapper项目中的pom.xml文件中以jar包的形式引入model项目即可
            1.groupId     公司的名字  一样的
            2.artifactId  需要的项目名
            3.version     版本号

            然后,在mapper中,就可以导入model中的实体类。
        -->
        <dependency>
            <groupId>com.aaa</groupId>
            <artifactId>model</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>
    
</project>

 

二、层级依赖?   减少jar包的冗余。(maven的好处)

 

思考问题?
使用了层级依赖,上级中所引用的jar包,下级是否可以使用?
可以!!!!
 如果mapper
   service
   web
都使用到了shiro的jar包,因为这三个项目是一个层级依赖的关系,只需要在mapper项目中引入shiro的jar包即可!

 

以上是关于maven 中的工程依赖和层级依赖?的主要内容,如果未能解决你的问题,请参考以下文章

如何用maven把依赖的jar包编译到最终生成的jar包中

Maven依赖的是本地工程还是仓库jar包

maven 怎么控制被依赖工程的默认打包

maven如何继承父工程的依赖关系

Maven -- 模块继承(子模块无需写依赖的version)

Maven依赖的是本地工程还是仓库jar包?