java入门017~springboot创建多Moudle多模块的java项目

我们在开发过程中,一个项目越来越庞大,再加上多个程序员同时开发一个项目,如果只有一个moudle的话,势必会造成很多代码冲突,所以今天来教大家如何实现一个多moudle(多模块)的springboot项目

本节知识点
1,springboot主项目的创建
2,springboot子项目的创建
3,springboot子项目间的相互调用
4,springboot多moudle项目的运行

一,创建主项目(父项目)

1,新建项目


java入门017~springboot创建多Moudle多模块的java项目_第1张图片

2,创建springboot项目


java入门017~springboot创建多Moudle多模块的java项目_第2张图片

3,包名要定义或者保持默认,项目名也可以自行修改,其余保持默认,然后点next下一步
java入门017~springboot创建多Moudle多模块的java项目_第3张图片

4,使用springboot最新版本2.1.6,然后点击next


java入门017~springboot创建多Moudle多模块的java项目_第4张图片

5,定义所在目录文件,点击finish
java入门017~springboot创建多Moudle多模块的java项目_第5张图片

6,到这里父项目就创建成功了
java入门017~springboot创建多Moudle多模块的java项目_第6张图片

7,可以把下面红框里5个不用的文件删除(也可以不用删)
java入门017~springboot创建多Moudle多模块的java项目_第7张图片

二,创建子moudle(子项目)

java入门017~springboot创建多Moudle多模块的java项目_第8张图片

创建子moudle和上面创建父项目步骤基本一致,有下面需要注意的点。
1,包名要和父项目保持一致。


java入门017~springboot创建多Moudle多模块的java项目_第9张图片

2,子moudle要用到web依赖


java入门017~springboot创建多Moudle多模块的java项目_第10张图片

3,子项目的目录一定要在父项目的目录里
java入门017~springboot创建多Moudle多模块的java项目_第11张图片

4,创建好的子moudle如下
java入门017~springboot创建多Moudle多模块的java项目_第12张图片

三,同样的方式,再创建一个moudle2

java入门017~springboot创建多Moudle多模块的java项目_第13张图片

四,改造父pom.xml文件

1,父项目的pom.xml文件做如下改造,删除无用配置


java入门017~springboot创建多Moudle多模块的java项目_第14张图片

2,设置打包为为pom


java入门017~springboot创建多Moudle多模块的java项目_第15张图片

五,子项目pom.xml改造

moudle1和moudle2的 都要设置为jar


java入门017~springboot创建多Moudle多模块的java项目_第16张图片
java入门017~springboot创建多Moudle多模块的java项目_第17张图片

六,把moudle2的入口application删除,只保留moudle1的即可。

java入门017~springboot创建多Moudle多模块的java项目_第18张图片

删除后,项目结构如下


java入门017~springboot创建多Moudle多模块的java项目_第19张图片

七,创建测试controller

在moudle1和moudle2里分别创建controller类


java入门017~springboot创建多Moudle多模块的java项目_第20张图片

moudle1的Controller类代码如下

@RestController
public class Controller {
    @GetMapping("/hello1")
    public String hello1(){
        return "我是moudle1";
    }
}

moudle2的Controller2类代码如下

@RestController
public class Controller2 {
    @GetMapping("/hello2")
    public String hello1(){
        return "我是moudle2";
    }
}

八,启动项目

java入门017~springboot创建多Moudle多模块的java项目_第21张图片

项目启动成功


java入门017~springboot创建多Moudle多模块的java项目_第22张图片

访问hello1可以看到返回moudle1定义的信息


java入门017~springboot创建多Moudle多模块的java项目_第23张图片

访问hello2缺报404错误
java入门017~springboot创建多Moudle多模块的java项目_第24张图片

出现这个错误的原因,是因为moudle2里的controller2没有被注册进项目,所以我们需要添加如下代码。


java入门017~springboot创建多Moudle多模块的java项目_第25张图片

@ComponentScan({"com.qcl"}) 就是扫描我们com.qcl包下的所有代码,并把这些代码注册到项目。加完这段代码,我们再重启项目。
就可以通过hello2成功访问到moudle2的信息了。


java入门017~springboot创建多Moudle多模块的java项目_第26张图片

到这里我们就成功的创建了多moudle的springboot项目了。

还有一点,需要在父项目的pom.xml把我们的两个子模块配置进去,代码如下


java入门017~springboot创建多Moudle多模块的java项目_第27张图片

下面我把父项目的子项目的pom.xml文件完整的贴出来给大家。

1,父项目pom.xml



    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        2.1.6.RELEASE
         
    
    com.qcl
    moudles
    0.0.1-SNAPSHOT
    moudles
    pom
    Demo project for Spring Boot

    
        1.8
    

    
        moudle1
        moudle2
    



2,子项目moudle1的pom.xml



    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        2.1.6.RELEASE
         
    
    com.qcl
    moudle1
    0.0.1-SNAPSHOT
    moudle1
    jar
    Demo project for Spring Boot

    
        1.8
    

    
        
            org.springframework.boot
            spring-boot-starter-web
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        
        
        
            com.qcl
            moudle2
            0.0.1-SNAPSHOT
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    



3,子项目moudle2的pom.xml



    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        2.1.6.RELEASE
         
    
    com.qcl
    moudle2
    0.0.1-SNAPSHOT
    moudle2
    jar
    Demo project for Spring Boot

    
        1.8
    

    
        
            org.springframework.boot
            spring-boot-starter-web
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    



源码:

https://github.com/qiushi123/moudles

视频讲解

https://edu.csdn.net/course/detail/23443

往期回顾

  • java入门001--IntelliJ IDEA 配置阿里云Maven国内仓库(含idea下载及破解教程)

  • java入门002~jdk8 window版32位 64位 Mac版64位安装包

  • java入门003~手把手教你开发自己的第一个java项目(基于springboot2.1.5)

  • java入门004~五分钟教你用java开发一个小程序后台服务器~看完你也会

  • java入门005~springboot实现单个文件上传(图片 文档 视频 音频都可以上传)

  • java入门006~springboot实现多文件的上传(java多文件的上传)

  • java入门007~mysql数据的安装

  • java入门013~java异常的捕获~springboot通过@ControllerAdvice和@ExceptionHandler来捕获异常

  • java入门014~springboot自定义错误页面 并重定向到首页

  • java入门015~springboot2整合mybatis,轻松实现mysql数据的增删改查

  • java入门016~springboot2结合mybatis,免xml配置

  • java入门017~springboot创建多Moudle多模块的java项目

你可能感兴趣的:(java入门017~springboot创建多Moudle多模块的java项目)