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

  介绍

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

<强>为何模块开发

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

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

<强>分布式集群

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

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

<强>怎样分模块

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

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

<强>相关代码

父项目pom

& lt;及# 63;xml version=?.0”;编码=癠TF-8", # 63;比;   http://maven.apache.org/POM/4.0.0" & lt;项目xmlns=?   xmlns: xsi=癶ttp://www.w3.org/2001/XMLSchema-instance"   ,xsi: schemaLocation=癶ttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"的在;   & lt; modelVersion> 4.0.0      & lt; groupId> com.boot.lean   & lt; artifactId> springbootquick   & lt; version> 1.0 -snapshot   & lt; modules>   & lt; module> dao   & lt; module> service1   & lt; module> service2   & lt;/modules>         & lt; packaging> pom   & lt; name> springbootquick   & lt; parent>   & lt; groupId> org.springframework.boot   & lt; artifactId> spring-boot-starter-parent   & lt; version> 1.5.1.RELEASE   & lt; relativePath/比;& lt; !——从库中查找父——比;   & lt;/parent>      & lt; properties>      & lt; project.build.sourceEncoding> UTF-8   & lt; shadedClassifier> bin   & lt; java.version> 1.8 & lt;/java.version>         & lt; mybatis-spring-boot> 1.2.0   & lt; mysql-connector> 5.1.39   & lt;/properties>         & lt; dependencies>      & lt; !——春天引导Web依赖——比;   & lt; dependency>   & lt; groupId> org.springframework.boot   & lt; artifactId> spring-boot-starter-web   & lt;/dependency>      & lt; !——春天引导测试依赖——比;   & lt; dependency>   & lt; groupId> org.springframework.boot   & lt; artifactId> spring-boot-starter-test   & lt; scope> test   & lt;/dependency>      & lt; !——春天引导Mybatis依赖——比;   & lt; dependency>   & lt; groupId> org.mybatis.spring.boot   & lt; artifactId> mybatis-spring-boot-starter   & lt; version> $ {mybatis-spring-boot} & lt;/version>   & lt;/dependency>      & lt; !——MySQL连接驱动依赖——比;   & lt; dependency>   & lt; groupId> mysql   & lt; artifactId> mysql-connector-java   & lt; version> $ {mysql-connector} & lt;/version>   & lt;/dependency>      & lt; !——Junit祝辞   & lt; dependency>   & lt; groupId> junit   & lt; artifactId> junit   & lt; version> 4.12 & lt;/version>   & lt;/dependency>   & lt; dependency>   & lt; groupId> org.apache.commons   & lt; artifactId> commons-pool2

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