zoukankan      html  css  js  c++  java
  • SpringgBoot父子工程的创建

    知识:SpringBoot父子工程创建

    花开堪折直需折,莫待无花空折枝

    开始之前,非常非常有必要了解一下关于以及的区别,这样才可以在进行创建maven父子工程种避免一些不必要的意外错误。

    dependencyManagement与dependencies的区别:

    dependencyManagement:

    • 在项目的父工程中pom文件使用,
    • 用于管理jar包的版本,并不会去下载jar包
    • 子项目在引入dependencyManagement中定于了的jar包时,只需要定义相应的groupId和artifactId,可以不用定义jar包的version(当然有特殊需求,定义了也是没有问题的),因为子module会沿着继承关系一级一级向上找对应的jar包版本,如果在最顶层的父pom中的dependencyManagement任然没有找到,就会报错;

    dependencies:

    • 用于管理jar包,此时在这里引入了的jar包,会去下载;
    • 如果是父子工程,并且父工程有定义dependencyManagement进行jar版本的管理,子工程只需要定义相应的groupId和artifactId(具体解析看上上面第三条说明)
    • 父工程中定义了代表子工程将会继承在中定义的ja包

    这里在插入一下大佬对pom的意思说明:

    • 使用maven分模块管理,都会有一个父级项目,pom文件一个重要的属性就是packaging(打包类型),一般来说所有的父级项目的packaging都为pom,packaging默认类型jar类型,如果不做配置,maven会将该项目打成jar包。
    • 大佬连接:pom是什么意思?

    父子工程创建简单总结:

    有了以上知识的介绍,对于搭建父子工程就相对很轻松了,总结一下就是:

    父工程:

    • 必须要有pom
    • 用于管理全局的jar版本,可避免jar版本混乱或不一致导致不兼容等的问题
    • 在父工程中是用于定义公共的jar包,所有的子工程都将继承

    子工程

    • 子工程定义中的jar包,如果没有指定版本将会去父工程中查找对应的version,一直向上直到顶层父工程,如果仍然没有将会报错
    • 子工程定义也可以自己定义jar包版本

    案列演示:

    父工程pom:

    <?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.4.0</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
        <!--基本信息-->
        <groupId>com.ld</groupId>
        <artifactId>mybatis</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <name>mybatis</name>
        <description>Demo project for Spring Boot</description>
        <!--必须-->
        <packaging>pom</packaging>
        <!--子模块 -->
        <modules>
            <module>DynamicSQL</module>
        </modules>
        <!--设置jar包版本属性-->
        <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <java.version>1.8</java.version>
            <mysql.version>8.0.18</mysql.version>
            <mybatis.spring.boot.version>2.1.3</mybatis.spring.boot.version>
        </properties>
        <!--一依赖管理设置对应jar包版本 -->
        <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>org.mybatis.spring.boot</groupId>
                    <artifactId>mybatis-spring-boot-starter</artifactId>
                    <version>${mybatis.spring.boot.version}</version>
                </dependency>
                <dependency>
                    <groupId>mysql</groupId>
                    <artifactId>mysql-connector-java</artifactId>
                    <version>${mysql.version}</version>
                </dependency>
            </dependencies>
        </dependencyManagement>
        <!--公共引入的jar,子工程会直接引入对应的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>
            </dependency>
        </dependencies>
     
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
     
    </project>
    

    子工程pom:

    <?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>mybatis</artifactId>
            <groupId>com.ld</groupId>
            <version>0.0.1-SNAPSHOT</version>
        </parent>
        <modelVersion>4.0.0</modelVersion>
     
        <artifactId>DynamicSQL</artifactId>
        <!--引入jar包,父工程如果已经配置了version可以不配置版本号-->
        <dependencies>
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
            </dependency>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
            </dependency>
        </dependencies>
     
    </project>
    

    最后:

    创建Module这些应该都是小问题了,如果人然不是很熟悉,推荐创建子工程时,使用maven的方式创建,这样可指定继承的父工程pom文件

  • 相关阅读:
    1.unix网络编程基础知识
    eclipse中如何获得feature与plugin的list
    eclipse中Debug的三种方式
    Eclipse Update Site中Nested Features问题
    java中URL,URLConnection,HttPURLConnection的使用
    iBatis简单入门教程
    Git 常用命令整理
    【整理】chmod和chown命令的用法
    【原创】Gson使用,json转换为java对象
    CSS reset 一份很全的样式表,附YUI的css reset
  • 原文地址:https://www.cnblogs.com/lydcp/p/14223681.html
Copyright © 2011-2022 走看看