Springboot之多模块项目搭建

Springboot多模块项目搭建(IDEA)

一、创建一个maven项目的作为父项目

点击 File -> new -> new project 创建maven工程

Springboot之多模块项目搭建_第1张图片

添加GroupId和ArtifactId

二、为父项目添加模块

Springboot之多模块项目搭建_第2张图片
这里仍然选择maven项目,直接点击Next进入下一页面,
Springboot之多模块项目搭建_第3张图片
剩下的就是一路next,接着在依次新建各个模块,最后项目目录为下图就可以:

项目目录结构 maven结构
Springboot之多模块项目搭建_第4张图片 Springboot之多模块项目搭建_第5张图片

三、各模块的pom文件写法

1. 父模块


<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>
    <groupId>mly-blog-admingroupId>
    <artifactId>mly-blog-adminartifactId>
    <version>1.0.0version>
    <modules>
        <module>mly-blog-mappermodule>
        <module>mly-blog-servicemodule>
        <module>mly-blog-entitymodule>
        <module>mly-blog-apimodule>
        <module>mly-blog-webmodule>
        <module>mly-blog-commonmodule>
    modules>
    <packaging>pompackaging>
    <properties>
        <mly.blog.version>1.0.0mly.blog.version>
        <project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8project.reporting.outputEncoding>
        <java.version>1.8java.version>
        <maven.compiler.plugin.version>3.1maven.compiler.plugin.version>
    properties>
    <parent>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-starter-parentartifactId>
        <version>2.1.1.RELEASEversion>
        <relativePath/> 
    parent>
    <dependencies>
        
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-webartifactId>
        dependency>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-testartifactId>
            <scope>testscope>
        dependency>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-jdbcartifactId>
        dependency>
        
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-aopartifactId>
        dependency>
        
        <dependency>
            <groupId>mysqlgroupId>
            <artifactId>mysql-connector-javaartifactId>
            <scope>runtimescope>
        dependency>
        
        <dependency>
            <groupId>com.alibabagroupId>
            <artifactId>druidartifactId>
            <version>1.1.9version>
        dependency>
        
        <dependency>
            <groupId>commons-codecgroupId>
            <artifactId>commons-codecartifactId>
        dependency>
        <dependency>
            <groupId>org.apache.commonsgroupId>
            <artifactId>commons-lang3artifactId>
        dependency>
        <dependency>
            <groupId>org.apache.commonsgroupId>
            <artifactId>commons-ioartifactId>
            <version>1.3.2version>
        dependency>
        
        <dependency>
            <groupId>com.baomidougroupId>
            <artifactId>mybatis-plus-boot-starterartifactId>
            <version>3.1.0version>
        dependency>
        <dependency>
            <groupId>com.baomidougroupId>
            <artifactId>mybatis-plus-generatorartifactId>
            <version>3.1.0version>
        dependency>
        <dependency>
            <groupId>org.apache.velocitygroupId>
            <artifactId>velocity-engine-coreartifactId>
            <version>2.0version>
        dependency>
        
        <dependency>
            <groupId>org.projectlombokgroupId>
            <artifactId>lombokartifactId>
            <scope>providedscope>
        dependency>
    dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.pluginsgroupId>
                <artifactId>maven-compiler-pluginartifactId>
                <version>${maven.compiler.plugin.version}version>
                <configuration>
                    <source>${java.version}source>
                    <target>${java.version}target>
                configuration>
            plugin>
        plugins>
    build>
project>

2. 公共模块


<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>mly-blog-adminartifactId>
        <groupId>mly-blog-admingroupId>
        <version>1.0.0version>
    parent>
    <modelVersion>4.0.0modelVersion>
    <artifactId>mly-blog-commonartifactId>
    <dependencies>
    dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.pluginsgroupId>
                <artifactId>maven-compiler-pluginartifactId>
                <version>${maven.compiler.plugin.version}version>
                <configuration>
                    <source>${java.version}source>
                    <target>${java.version}target>
                configuration>
            plugin>
        plugins>
    build>
project>

3. 实体模块


<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>mly-blog-adminartifactId>
        <groupId>mly-blog-admingroupId>
        <version>1.0.0version>
    parent>
    <modelVersion>4.0.0modelVersion>

    <artifactId>mly-blog-entityartifactId>

    <dependencies>
        <dependency>
            <groupId>mly-blog-admingroupId>
            <artifactId>mly-blog-commonartifactId>
            <version>${mly.blog.version}version>
        dependency>
    dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.pluginsgroupId>
                <artifactId>maven-compiler-pluginartifactId>
                <version>${maven.compiler.plugin.version}version>
                <configuration>
                    <source>${java.version}source>
                    <target>${java.version}target>
                configuration>
            plugin>
        plugins>
    build>


project>

4. Mapper模块


<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>mly-blog-adminartifactId>
        <groupId>mly-blog-admingroupId>
        <version>1.0.0version>
    parent>
    <modelVersion>4.0.0modelVersion>

    <artifactId>mly-blog-mapperartifactId>

    <dependencies>
        <dependency>
            <groupId>mly-blog-admingroupId>
            <artifactId>mly-blog-entityartifactId>
            <version>${mly.blog.version}version>
        dependency>
        <dependency>
            <groupId>mly-blog-admingroupId>
            <artifactId>mly-blog-commonartifactId>
            <version>${mly.blog.version}version>
        dependency>
    dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.pluginsgroupId>
                <artifactId>maven-compiler-pluginartifactId>
                <version>${maven.compiler.plugin.version}version>
                <configuration>
                    <source>${java.version}source>
                    <target>${java.version}target>
                configuration>
            plugin>
        plugins>
    build>

project>

5. Server模块


<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>mly-blog-adminartifactId>
        <groupId>mly-blog-admingroupId>
        <version>1.0.0version>
    parent>
    <modelVersion>4.0.0modelVersion>
    <artifactId>mly-blog-serviceartifactId>
    <dependencies>
        <dependency>
            <groupId>mly-blog-admingroupId>
            <artifactId>mly-blog-entityartifactId>
            <version>${mly.blog.version}version>
        dependency>
        <dependency>
            <groupId>mly-blog-admingroupId>
            <artifactId>mly-blog-mapperartifactId>
            <version>${mly.blog.version}version>
        dependency>
        <dependency>
            <groupId>mly-blog-admingroupId>
            <artifactId>mly-blog-commonartifactId>
            <version>${mly.blog.version}version>
        dependency>
    dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.pluginsgroupId>
                <artifactId>maven-compiler-pluginartifactId>
                <version>${maven.compiler.plugin.version}version>
                <configuration>
                    <source>${java.version}source>
                    <target>${java.version}target>
                configuration>
            plugin>
        plugins>
    build>
project>

5. web模块


<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>mly-blog-adminartifactId>
        <groupId>mly-blog-admingroupId>
        <version>1.0.0version>
    parent>
    <modelVersion>4.0.0modelVersion>
    <artifactId>mly-blog-webartifactId>
    <dependencies>
        <dependency>
            <groupId>mly-blog-admingroupId>
            <artifactId>mly-blog-serviceartifactId>
            <version>${mly.blog.version}version>
        dependency>
        <dependency>
            <groupId>mly-blog-admingroupId>
            <artifactId>mly-blog-commonartifactId>
            <version>${mly.blog.version}version>
        dependency>
        
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-webartifactId>
        dependency>
    dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.pluginsgroupId>
                <artifactId>maven-compiler-pluginartifactId>
                <version>${maven.compiler.plugin.version}version>
                <configuration>
                    <source>${java.version}source>
                    <target>${java.version}target>
                configuration>
            plugin>
        plugins>
    build>
project>

四、编写yml文件

只有在提供接口的模块才写application.yml文件。

Springboot之多模块项目搭建_第6张图片
Springboot之多模块项目搭建_第7张图片

五、在项目的启动类上要注意

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * @author 易水●墨龙吟
 * @Description
 * @create 2019-03-31 14:43
 */
@SpringBootApplication(scanBasePackages="com.blog")
public class ApiApplication {

    public static void main(String[] args) {
        SpringApplication.run(ApiApplication.class, args);
    }
}

@SpringBootApplication(scanBasePackages=“com.blog”) , 要将所有包扫描到spring容易,不写可能会出错。

六、启动运行

Springboot之多模块项目搭建_第8张图片

你可能感兴趣的:(SpringBoot)