Java技術分享:SpringBoot多模組開發

千鋒武漢發表於2021-05-18

  在Javaweb專案開發中為了便於後期的維護,我們一般會進行分層開發,常見的就是分為model(域模型層)、dao(資料庫訪問層)、service(業務邏輯層)、controller(控制器層)、web(表現層),這樣分層之後,各個層之間的職責會比較明確,後期維護起來也相對比較容易。

  前面我們開發都是在一個模組中,把不同的層以包來區分,如下:

  1、建立SpringBoot專案

  結構為:

1

  程式碼分別是:

  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);

  }

  }

  啟動專案,測試

0

  多模組開發:

  隨著專案越來越複雜,每個層的規模也逐漸增大,在一個模組中進行開發,會給測試和維護帶來不便,對於大型專案來說,一般會將每個層放到自己的模組中,然後每個層建立聯絡,單獨維護。

  下面我們將會把前面的單模組專案重構為多模組專案:

  專案分為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

2

  輸入模組名稱model ——> Next ——> Finish

3

  專案的pom.xml中會出現:

  <modules>

  <module>model</module>

  </modules>

  這就是模組建立完成了

  然後將原來專案中model的包整個複製到model模組的java目錄下:

4

  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模組

5

  新增依賴:

  <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

  6、點選Build Project 編譯專案,然後啟動程式進行測試,如果能成功啟動還能看到原來的執行效果,那麼專案多模組的重構就完成了。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31548651/viewspace-2771623/,如需轉載,請註明出處,否則將追究法律責任。

相關文章