利用springboot怎么进行多模块开发

利用springboot怎么进行多模块开发?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

创新互联是一家专业从事成都网站制作、网站建设、网页设计的品牌网络公司。如今是成都地区具影响力的网站设计公司,作为专业的成都网站建设公司,创新互联依托强大的技术实力、以及多年的网站运营经验,为您提供专业的成都网站建设、营销型网站建设及网站设计开发服务!

为何模块开发

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

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

分布式集群

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

利用springboot怎么进行多模块开发

怎样分模块

注意:下面配置的步骤是基于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

<?xml version="1.0" encoding="UTF-8"?>

  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的逆向功能插件)

<?xml version="1.0" encoding="UTF-8"?>

  
    springbootquick
    com.boot.lean
    1.0-SNAPSHOT
  
  4.0.0

  dao
  jar

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

service1和service2的pom一样

<?xml version="1.0" encoding="UTF-8"?>

  
    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模块里我用的是注解配置,如图所示

结构示意图

利用springboot怎么进行多模块开发 

注意配置文件里的端口号

打包测试

在父项目下执行maven命令

mvn package

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

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

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

利用springboot怎么进行多模块开发

关于利用springboot怎么进行多模块开发问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。


名称栏目:利用springboot怎么进行多模块开发
分享URL:http://azwzsj.com/article/gssgoh.html