多模塊拆分的必要性
使用Java技術開發的工程項目,無論是數據處理系統還是Web網站,隨着項目的不斷發展,需求的不斷細化與添加,工程項目中的代碼越來越多,包結構也越來越復雜這時候工程的進展就會遇到各種問題:
(1)不同方面的代碼之間相互耦合,這時候一系統出現問題很難定位到問題的出現原因,即使定位到問題也很難修正問題,可能在修正問題的時候引入更多的問題。
(2)多方面的代碼集中在一個整體結構中,新入的開發者很難對整體項目有直觀的感受,增加了新手介入開發的成本,需要有一個熟悉整個項目的開發者維護整個項目的結構(通常在項目較大且開發時間較長時這是很難做到的)。
(3)開發者對自己或者他人負責的代碼邊界很模糊,這是復雜項目中最容易遇到的,導致的結果就是開發者很容易修改了他人負責的代碼且代碼負責人還不知道,責任追蹤很麻煩。
將一個復雜項目拆分成多個模塊是解決上述問題的一個重要方法,多模塊的划分可以降低代碼之間的耦合性(從類級別的耦合提升到jar包級別的耦合),每個模塊都可以是自解釋的(通過模塊名或者模塊文檔),
模塊還規范了代碼邊界的划分,開發者很容易通過模塊確定自己所負責的內容。
多模塊項目結構例子:
依賴關系:
dao層依賴model
service層依賴dao、model、utils
web層依賴service、model、utils
打包發布jar文件
springboot項目總要是在多模塊化拆分之后還能打成可執行的jar包。
1.在啟動類中修改pom文件(也就是web項目的)
<build> <!-- 為jar包取名 --> <finalName>owen-start</finalName> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>1.3.0.RELEASE</version> </plugin> </plugins> </build>
2.在parent中的pom中添加
<build> <plugins> <plugin> <!-- The plugin rewrites your manifest --> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>1.3.0.RELEASE</version> <configuration><!-- 指定該Main Class為全局的唯一入口 --> <mainClass>com.owen.OwenApplication</mainClass> <layout>ZIP</layout> </configuration> <executions> <execution> <goals> <goal>repackage</goal><!--可以把依賴的包都打包到生成的Jar包中--> </goals> <!--可以生成不含依賴包的不可執行Jar包--> <!-- configuration> <classifier>exec</classifier> </configuration> --> </execution> </executions> </plugin> </plugins> </build>
3.執行打包命令,mvn package -Dmaven.test.skip=true 跳過測試。
4. 生成可執行的jar。
需要源碼的下面留言哦! 歡迎大家指正。