栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

浅谈springboot多模块(modules)开发

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

浅谈springboot多模块(modules)开发

为何模块开发

先举个栗子,同一张数据表,可能要在多个项目中或功能中使用,所以就有可能在每个模块都要搞一个mybatis去配置。如果一开始规定说这张表一定不可以改字段属性,那么没毛病。但是事实上, 一张表从项目开始到结束,不知道被改了多少遍,所以,你有可能在多个项目中去改mybatis改到吐血!

在举一个栗子,一个web服务里包含了多个功能模块,比如其中一个功能可能会消耗大量资源和时间,当用户调用这个功能的时候,可能会影响到其他功能的正常使用,这个时候,如果把各个功能模块分出来单独部署,然后通过http请求去调用,至于性能和响应速度,再单独去优化,将会非常爽!这也有利于将来的

分布式集群

根据当前的业务需求,我需要重构现有的web功能,多模块化,然后单独部署,基本架构示意图如下

怎样分模块

注意:下面配置的步骤是基于IntelliJ IDEA 2016.3.4(64),不保证eclipse能成功。如果你还在使用eclipse,建议你删掉它,使用idea吧

1、创建maven主项目例如,springbootmodules,并删掉src文件
2、右键项目分别创建三个module,dao,service1,service2
3、将之前项目用到的依赖写在主项目的pom里,这里要注意
4、dao层主要提供实体类,CURD接口和xml映射文件
5、一定要在service1和service2配置数据库的相关信息,并添加spring的相关配置
6、编写接口测试

相关代码

父项目pom



  4.0.0

  com.boot.lean
  springbootquick
  1.0-SNAPSHOT
  
    dao
    service1
    service2
  


  pom
  springbootquick
  
    org.springframework.boot
    spring-boot-starter-parent
    1.5.1.RELEASE
     
  

  

    UTF-8
    bin
    1.8


    1.2.0
    5.1.39
  


  

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

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

    
    
      org.mybatis.spring.boot
      mybatis-spring-boot-starter
      ${mybatis-spring-boot}
    

    
    
      mysql
      mysql-connector-java
      ${mysql-connector}
    

    
    
      junit
      junit
      4.12
    
    
      org.apache.commons
      commons-pool2
      2.4.2
    
    
      commons-beanutils
      commons-beanutils
      1.9.2
    

    
      commons-logging
      commons-logging
      1.2
    

    
      commons-dbcp
      commons-dbcp
      1.4
    

    
      net.sf.json-lib
      json-lib
      2.4
      jdk15
    

  


  
    


      
 org.apache.maven.plugins
 maven-compiler-plugin
 3.1
 
   ${java.version}
   ${java.version}
 
      


      
 org.apache.maven.plugins
 maven-surefire-plugin
 2.19.1
 
   true  
 
      

      
 org.mybatis.generator
 mybatis-generator-maven-plugin
 1.3.2
 
   true
   true
 
 
   
     mysql
     mysql-connector-java
     5.1.30
   
 
      
    
  


dao模块的pom(里面配置了mybatis的逆向功能插件)



  
    springbootquick
    com.boot.lean
    1.0-SNAPSHOT
  
  4.0.0

  dao
  jar

  
  
    
      
 src/main/java
 
   **/*.xml
 
      
      
 src/main/resources
      
    
  


service1和service2的pom一样



  
    springbootquick
    com.boot.lean
    1.0-SNAPSHOT
  
  4.0.0

  service1
  jar
  
    
      com.boot.lean
      dao
      1.0-SNAPSHOT
    
  

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


需要注意的是,service模块里我用的是注解配置,如图所示

结构示意图

 

注意配置文件里的端口号

打包测试

在父项目下执行maven命令

mvn package

service1和service2目录下分别会产生target文件,里面包含可执行jar包,分别执行

java -jar service1-1.0-SNAPSHOT
java -jar service2-1.0-SNAPSHOT

如果一切顺利的话,你可以得出下面的操作结果

注意端口号哦

有什么问题,自行解决,然后你会发现,跨过这个坑,还有无数个坑在等你~

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/144446.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号