重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)
利用springboot怎么進(jìn)行多模塊開發(fā)?針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡(jiǎn)單易行的方法。
創(chuàng)新互聯(lián)是一家專業(yè)從事成都網(wǎng)站制作、網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)的品牌網(wǎng)絡(luò)公司。如今是成都地區(qū)具影響力的網(wǎng)站設(shè)計(jì)公司,作為專業(yè)的成都網(wǎng)站建設(shè)公司,創(chuàng)新互聯(lián)依托強(qiáng)大的技術(shù)實(shí)力、以及多年的網(wǎng)站運(yùn)營(yíng)經(jīng)驗(yàn),為您提供專業(yè)的成都網(wǎng)站建設(shè)、營(yíng)銷型網(wǎng)站建設(shè)及網(wǎng)站設(shè)計(jì)開發(fā)服務(wù)!
為何模塊開發(fā)
先舉個(gè)栗子,同一張數(shù)據(jù)表,可能要在多個(gè)項(xiàng)目中或功能中使用,所以就有可能在每個(gè)模塊都要搞一個(gè)mybatis去配置。如果一開始規(guī)定說這張表一定不可以改字段屬性,那么沒毛病。但是事實(shí)上, 一張表從項(xiàng)目開始到結(jié)束,不知道被改了多少遍,所以,你有可能在多個(gè)項(xiàng)目中去改mybatis改到吐血!
在舉一個(gè)栗子,一個(gè)web服務(wù)里包含了多個(gè)功能模塊,比如其中一個(gè)功能可能會(huì)消耗大量資源和時(shí)間,當(dāng)用戶調(diào)用這個(gè)功能的時(shí)候,可能會(huì)影響到其他功能的正常使用,這個(gè)時(shí)候,如果把各個(gè)功能模塊分出來單獨(dú)部署,然后通過http請(qǐng)求去調(diào)用,至于性能和響應(yīng)速度,再單獨(dú)去優(yōu)化,將會(huì)非常爽!這也有利于將來的
分布式集群
根據(jù)當(dāng)前的業(yè)務(wù)需求,我需要重構(gòu)現(xiàn)有的web功能,多模塊化,然后單獨(dú)部署,基本架構(gòu)示意圖如下
怎樣分模塊
注意:下面配置的步驟是基于IntelliJ IDEA 2016.3.4(64),不保證eclipse能成功。如果你還在使用eclipse,建議你刪掉它,使用idea吧
1、創(chuàng)建maven主項(xiàng)目例如,springbootmodules,并刪掉src文件
2、右鍵項(xiàng)目分別創(chuàng)建三個(gè)module,dao,service1,service2
3、將之前項(xiàng)目用到的依賴寫在主項(xiàng)目的pom里,這里要注意
4、dao層主要提供實(shí)體類,CURD接口和xml映射文件
5、一定要在service1和service2配置數(shù)據(jù)庫(kù)的相關(guān)信息,并添加spring的相關(guān)配置
6、編寫接口測(cè)試
相關(guān)代碼
父項(xiàng)目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模塊里我用的是注解配置,如圖所示
結(jié)構(gòu)示意圖
注意配置文件里的端口號(hào)
打包測(cè)試
在父項(xiàng)目下執(zhí)行maven命令
mvn package
service1和service2目錄下分別會(huì)產(chǎn)生target文件,里面包含可執(zhí)行jar包,分別執(zhí)行
java -jar service1-1.0-SNAPSHOT java -jar service2-1.0-SNAPSHOT
如果一切順利的話,你可以得出下面的操作結(jié)果
關(guān)于利用springboot怎么進(jìn)行多模塊開發(fā)問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。