spring boot項目搭建
- idea搭建主項目
選擇spring項目構建,和官網構建其實是一樣的
填寫相關的名稱
選擇你需要的依賴(可以先不填,等到分完模塊後填)
- 子模塊的搭建
其他模塊一樣的配置
修改主pom和子模塊pom
總體意思是讓主pom使用dependencyManagement來管理所有三方庫和子模塊的依賴版本
- 主pom文件
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <!--maven父包管理使用pom--> <packaging>pom</packaging> <!--模塊--> <modules> <!--控制層--> <module>wmall-web</module> <!--業務邏輯層--> <module>wmall-service</module> <!--數據庫操作層--> <module>wmall-dao</module> <!--公共工具模塊--> <module>wmall-common</module> <!--數據庫模型層--> <module>wmall-model</module> </modules> <!--spring boot父類--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.9.RELEASE</version> <relativePath/> </parent> <!--主項目信息--> <groupId>com.actstrady</groupId> <artifactId>wmall</artifactId> <version>1.0.0-SNAPSHOT</version> <name>wmall</name> <description>personalized recommendation mall</description> <properties> <!--定義所有用到的依賴的版本--> <java.version>11</java.version> </properties> <!--使用主pom管理全部模塊依賴的方式進行管理, 父模塊只提供版本定義,所以子模塊需要用的時候自己引用,只是不需要寫版本號--> <dependencyManagement> <dependencies> <!--子模塊的版本交給主模塊處理--> <dependency> <groupId>com.actstrady</groupId> <artifactId>wmall-web</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>com.actstrady</groupId> <artifactId>wmall-service</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>com.actstrady</groupId> <artifactId>wmall-dao</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>com.actstrady</groupId> <artifactId>wmall-model</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>com.actstrady</groupId> <artifactId>wmall-common</artifactId> <version>${project.version}</version> </dependency> </dependencies> </dependencyManagement> </project>
- dao層pom
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <parent> <artifactId>wmall</artifactId> <groupId>com.actstrady</groupId> <version>1.0.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>wmall-dao</artifactId> <dependencies> <!--dao依賴於model--> <dependency> <groupId>com.actstrady</groupId> <artifactId>wmall-model</artifactId> </dependency> </dependencies> </project>
- service層dao
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <parent> <artifactId>wmall</artifactId> <groupId>com.actstrady</groupId> <version>1.0.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>wmall-service</artifactId> <dependencies> <!--service依賴於dao--> <dependency> <groupId>com.actstrady</groupId> <artifactId>wmall-dao</artifactId> </dependency> </dependencies> </project>
- web層的pom
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <parent> <artifactId>wmall</artifactId> <groupId>com.actstrady</groupId> <version>1.0.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>wmall-web</artifactId> <dependencies> <!--web依賴於service--> <dependency> <groupId>com.actstrady</groupId> <artifactId>wmall-service</artifactId> </dependency> <!--spring boot reactor web提供的依賴--> <!--web flux--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-webflux</artifactId> </dependency> <!--spring boot test依賴--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <!--reactor的測試依賴--> <dependency> <groupId>io.projectreactor</groupId> <artifactId>reactor-test</artifactId> <scope>test</scope> </dependency> </dependencies> </project>
- 其他兩個pom不用修改,他們沒什麼依賴關係,都是其他依賴他們