Java技術分享:SpringBoot多模組開發
在Javaweb專案開發中為了便於後期的維護,我們一般會進行分層開發,常見的就是分為model(域模型層)、dao(資料庫訪問層)、service(業務邏輯層)、controller(控制器層)、web(表現層),這樣分層之後,各個層之間的職責會比較明確,後期維護起來也相對比較容易。
前面我們開發都是在一個模組中,把不同的層以包來區分,如下:
1、建立SpringBoot專案
結構為:
程式碼分別是:
public class User {
private String username;
private String password;
private String realname;
...省略get\set 構造方法
}
@Repository
public class UserDAO {
public List<User> selectAllUsers(){
return Arrays.asList(new User("zhangsan","111","張三"),
new User("lisi","111","李四"),
new User("wangwu","111","王五"));
}
}
@Service
public class UserService {
@Resource
private UserDAO userDAO;
public List<User> findAllUsers(){
return userDAO.selectAllUsers();
}
}
@Controller
@RequestMapping("/user")
public class UserController {
@Resource
private UserService userService;
@RequestMapping("/list")
@ResponseBody
public String list(){
List<User> allUsers = userService.findAllUsers();
StringBuilder stringBuilder = new StringBuilder();
for(User user :allUsers){
stringBuilder.append("<p>姓名:");
stringBuilder.append(user.getRealname());
stringBuilder.append("</p>");
}
return stringBuilder.toString();
}
}
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
啟動專案,測試
多模組開發:
隨著專案越來越複雜,每個層的規模也逐漸增大,在一個模組中進行開發,會給測試和維護帶來不便,對於大型專案來說,一般會將每個層放到自己的模組中,然後每個層建立聯絡,單獨維護。
下面我們將會把前面的單模組專案重構為多模組專案:
專案分為4個模組
controller
service
dao
model
模組間依賴關係是
controller依賴service和model
service依賴dao和model
dao依賴model
重構多模組專案
1、首先選擇專案的pom.xml,將打包方式改為pom
<packaging>pom</packaging>
2、新建model模組:
專案右鍵——>New——>Module——>選擇maven ——> Next
輸入模組名稱model ——> Next ——> Finish
專案的pom.xml中會出現:
<modules>
<module>model</module>
</modules>
這就是模組建立完成了
然後將原來專案中model的包整個複製到model模組的java目錄下:
3、新建dao模組,過程和前面類似
新建完成後,程式碼會報錯,因為找不到User類,原因是dao模組還沒有新增model模組的依賴
新增依賴,在dao模組的pom.xml中新增
<dependencies>
<dependency>
<groupId>com.qianfeng.springboot</groupId>
<version>0.0.1-SNAPSHOT</version>
<artifactId>model</artifactId>
</dependency>
</dependencies>
4、再新增service模組
新增依賴:
<dependencies>
<dependency>
<groupId>com.qianfeng.springboot</groupId>
<artifactId>dao</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.qianfeng.springboot</groupId>
<artifactId>model</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
5、新增controller模組
新增依賴:
<dependencies>
<dependency>
<groupId>com.qianfeng.springboot</groupId>
<artifactId>service</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.qianfeng.springboot</groupId>
<artifactId>model</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
然後把原來專案的DemoApplication類複製到controller模組java目錄下的基礎包下,本例是com.qianfeng.springboot
6、點選Build Project 編譯專案,然後啟動程式進行測試,如果能成功啟動還能看到原來的執行效果,那麼專案多模組的重構就完成了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31548651/viewspace-2771623/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- springboot-多模組構建Spring Boot
- springboot模組化開發專案搭建Spring Boot
- Springboot建立maven多模組專案Spring BootMaven
- SpringBoot - 多模組專案的搭建教程Spring Boot
- 視覺化佈局模組開發分享視覺化
- 聊天模組及分享模組分享
- laravel 多模組模式下進行開發Laravel模式
- IDEA建立SpringBoot的多模組專案教程IdeaSpring Boot
- 如何構建多模組的SpringBoot專案Spring Boot
- Go 1.18 新特性多模組工作區教程-讓多模組開發變得簡單Go
- 07-SpringBoot+MyBatis+Spring 技術整合實現商品模組的CRUD操作Spring BootMyBatis
- SpringBoot多模組專案中無法注入其他模組中的spring beanSpring BootBean
- [提問交流]onethink進行多模組開發
- SpringBoot學習日記(二)多模組專案Spring Boot
- Jenkins自動化部署SpringBoot多模組專案JenkinsSpring Boot
- springboot 多模組下的單元測試配置Spring Boot
- Java 開發中常用的日誌模組Java
- 做Java開發需要哪些技術?Java
- Java開發之掌握JSP技術JavaJS
- iOS開發與前端技術分享【成都站】iOS前端
- web前端技術分享:詳解模組化require 和 import的區別Web前端UIImport
- Spring Boot + Maven 多模組專案開發詳解Spring BootMaven
- ARINC429模組技術指標指標
- 技術分享 | 雲原生多模型 NoSQL 概述模型SQL
- IOS技術分享| iOS快速生成開發文件(二)iOS
- IOS技術分享| iOS快速生成開發文件(一)iOS
- Java技術分享:Java基本資料型別Java資料型別
- Java技術分享:Java的執行機制Java
- ??Java開發者的Python快速進修指南:自定義模組及常用模組JavaPython
- Java技術分享:NIO實戰教程!Java
- Java技術分享之變數命名Java變數
- java底層鏈遊系統開發技術功能(成熟技術)Java
- Java位元組碼增強技術Java
- springboot多模組專案搭建遇到的問題記錄Spring Boot
- Java開發中操作日誌的作用和模組Java
- 基因組組裝技術的發展
- 使用typescript開發angular模組(編寫模組)TypeScriptAngular
- 組內技術分享-Activity 的啟動模式模式