Spring Boot 快速上手(10)Maven聚合工程

Spring Boot 快速上手(10)Maven聚合工程

  • 架构场景
  • 创建Maven 项目
  • 使用common
    • common 模块创建类
    • front 测试使用common模块

架构场景

简单场景:电商系统
Spring Boot 快速上手(10)Maven聚合工程_第1张图片
一套电商系统需要包含前台后台两套系统,此时,部分工具类和,持久层的代码是一样的,为了提高系统复用,采用maven 聚合工程的方式构建最合适不过了。

创建Maven 项目

新建maven父工程,删除src目录,在聚合工程中多模块,父工程仅作为模块即管理,场景通用,前台,后台模块,配置pom

创建模块:项目名字右键添加模块,创建maven项目
Spring Boot 快速上手(10)Maven聚合工程_第2张图片
配置pom,自己创建的common通用模块会被其他两个模块使用,也要添加到依赖管理中


<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.0modelVersion>
    <packaging>pompackaging>
    <modules>
        <module>commonmodule>
        <module>frontmodule>
        <module>backmodule>
    modules>

    <parent>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-starter-parentartifactId>
        <version>2.6.2version>
    parent>
    <groupId>org.examplegroupId>
    <artifactId>maven-demo-1artifactId>
    <version>1.0-SNAPSHOTversion>

    <properties>
        <maven.compiler.source>8maven.compiler.source>
        <maven.compiler.target>8maven.compiler.target>
        <mybatis-plus.version>3.4.2mybatis-plus.version>
        <mybatis-plus-generator.version>3.4.1mybatis-plus-generator.version>
        <druid.version>1.2.6druid.version>
        <freemarker.version>2.3.30freemarker.version>
    properties>

    <dependencyManagement>
        <dependencies>
            
            <dependency>
                <groupId>org.examplegroupId>
                <artifactId>commonartifactId>
                <version>${project.version}version>
            dependency>
            
            <dependency>
                <groupId>com.baomidougroupId>
                <artifactId>mybatis-plus-boot-starterartifactId>
                <version>${mybatis-plus.version}version>
            dependency>
            
            <dependency>
                <groupId>com.baomidougroupId>
                <artifactId>mybatis-plus-generatorartifactId>
                <version>${mybatis-plus-generator.version}version>
            dependency>
            <dependency>
                <groupId>org.freemarkergroupId>
                <artifactId>freemarkerartifactId>
                <version>${freemarker.version}version>
            dependency>

            
            <dependency>
                <groupId>com.alibabagroupId>
                <artifactId>druid-spring-boot-starterartifactId>
                <version>${druid.version}version>
            dependency>
        dependencies>
    dependencyManagement>

project>

在common中添加通用的依赖,只要添加了common模块的依赖,就包含了common中所加的依赖,简化重复依赖的配置


<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-1artifactId>
        <groupId>org.examplegroupId>
        <version>1.0-SNAPSHOTversion>
    parent>
    <modelVersion>4.0.0modelVersion>

    <artifactId>commonartifactId>

    <properties>
        <maven.compiler.source>8maven.compiler.source>
        <maven.compiler.target>8maven.compiler.target>
    properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starterartifactId>
        dependency>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-webartifactId>
        dependency>
        
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-devtoolsartifactId>
            <optional>trueoptional>
            <scope>truescope>
        dependency>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-thymeleafartifactId>
        dependency>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-testartifactId>
            <scope>testscope>
        dependency>
        <dependency>
            <groupId>org.projectlombokgroupId>
            <artifactId>lombokartifactId>
        dependency>
        
        <dependency>
            <groupId>com.baomidougroupId>
            <artifactId>mybatis-plus-boot-starterartifactId>
            <version>${mybatis-plus.version}version>
        dependency>
        <dependency>
            <groupId>mysqlgroupId>
            <artifactId>mysql-connector-javaartifactId>
            <scope>runtimescope>
        dependency>

        
        <dependency>
            <groupId>com.baomidougroupId>
            <artifactId>mybatis-plus-generatorartifactId>
            <version>3.4.1version>
        dependency>
        <dependency>
            <groupId>org.freemarkergroupId>
            <artifactId>freemarkerartifactId>
            <version>2.3.30version>
        dependency>

        
        <dependency>
            <groupId>com.alibabagroupId>
            <artifactId>druid-spring-boot-starterartifactId>
            <version>${druid.version}version>
        dependency>
    dependencies>
project>

在front和back的模块中添加common依赖
front模块


<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-1artifactId>
        <groupId>org.examplegroupId>
        <version>1.0-SNAPSHOTversion>
    parent>
    <modelVersion>4.0.0modelVersion>

    <artifactId>frontartifactId>

    <properties>
        <maven.compiler.source>8maven.compiler.source>
        <maven.compiler.target>8maven.compiler.target>
    properties>

    <dependencies>
        <dependency>
            <groupId>org.examplegroupId>
            <artifactId>commonartifactId>
        dependency>
    dependencies>

project>

back模块


<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-1artifactId>
        <groupId>org.examplegroupId>
        <version>1.0-SNAPSHOTversion>
    parent>
    <modelVersion>4.0.0modelVersion>

    <artifactId>backartifactId>

    <properties>
        <maven.compiler.source>8maven.compiler.source>
        <maven.compiler.target>8maven.compiler.target>
    properties>

    <dependencies>
        <dependency>
            <groupId>org.examplegroupId>
            <artifactId>commonartifactId>
        dependency>
    dependencies>
project>

可以通过idea的依赖查看其关系
Spring Boot 快速上手(10)Maven聚合工程_第3张图片

使用common

common 模块创建类

org.example.utils.LogoUtils 仅为测试

public class LogoUtils {

    public static String logo(){
        return "Vincent Vic";
    }
}

front 测试使用common模块

org.example.utils.LogoPrint

public class LogoPrint {
    public static void main(String[] args) {
        System.out.println(LogoUtils.logo());
    }
}

如果找不到类,检查前面步骤有没有配置好,maven安装common模块

你可能感兴趣的:(Spring,Boot,maven,spring,boot,java)