IDEA创建SpringBoot的多模块项目教程

最近在写一个多模块的SpringBoot项目,基于过程总了一些总结,故把SpringBoot多个模块的项目创建记录下来。

首先,先建立一个父工程:

(1)在IDEA工具栏选择File->New->Project

(2)选择Spring Initializr,默认选择Default,然后点击Next:    

IDEA创建SpringBoot的多模块项目教程_第1张图片

(3)在输入框填写以下截图内容,点击Next

IDEA创建SpringBoot的多模块项目教程_第2张图片

(4)直接点Next,无需选择

IDEA创建SpringBoot的多模块项目教程_第3张图片

(5)直接点击Finish完成创建

IDEA创建SpringBoot的多模块项目教程_第4张图片

(6)按照以上步骤,可以生成以下的项目目录结构:

IDEA创建SpringBoot的多模块项目教程_第5张图片

(7)这时把没用的.mvn目录,src目录,mvnw还有mvnw.cmd都删除,最终只保留.gitignore和pom.xml,若是web项目,可在该pom.xml里添加以下依赖:

1 
2 <dependency>
3     <groupId>org.springframework.bootgroupId>
4     <artifactId>spring-boot-starter-webartifactId>
5     <version>2.3.1.RELEASEversion>
6 dependency>

最终得到以下的父结构目录:

IDEA创建SpringBoot的多模块项目教程_第6张图片

 

以上是创建父模块,下面创建子模块:

(1)在父模块的根目录fte上点右键,在弹出的框里选择New->Module

IDEA创建SpringBoot的多模块项目教程_第7张图片

(2)选择Maven,点击Next

IDEA创建SpringBoot的多模块项目教程_第8张图片

(3)填写以下内容,点击Next

IDEA创建SpringBoot的多模块项目教程_第9张图片

(4)填写Module,点击Finish

IDEA创建SpringBoot的多模块项目教程_第10张图片

(5)同理添加fte-controller,fte-dao,fte-service,fte-web,最终得到以下的目录结构:

IDEA创建SpringBoot的多模块项目教程_第11张图片

(6)增加模块之间的依赖:

controller层添加以下依赖:

 1 <dependencies>
 2     <dependency>
 3         <groupId>com.examplegroupId>
 4         <artifactId>fte-commonartifactId>
 5         <version>0.0.1-SNAPSHOTversion>
 6     dependency>
 7 
 8     <dependency>
 9         <groupId>com.examplegroupId>
10         <artifactId>fte-daoartifactId>
11         <version>0.0.1-SNAPSHOTversion>
12     dependency>
13 
14     <dependency>
15         <groupId>com.examplegroupId>
16         <artifactId>fte-serviceartifactId>
17         <version>0.0.1-SNAPSHOTversion>
18     dependency>
19 dependencies>

service层添加以下依赖:

1 <dependencies>
2     <dependency>
3         <groupId>com.examplegroupId>
4         <artifactId>fte-daoartifactId>
5         <version>0.0.1-SNAPSHOTversion>
6     dependency>
7 dependencies>

(7)测试

在fte-controller创建com.zhu.fte.web包,增加以下两个类:

fteWebApplication类:

 1 package com.zhu.fte.web;
 2 
 3 import org.springframework.boot.SpringApplication;
 4 import org.springframework.boot.autoconfigure.SpringBootApplication;
 5 
 6 @SpringBootApplication
 7 public class fteWebApplication {
 8     public static void main(String[] args) {
 9         SpringApplication.run(fteWebApplication.class,args);
10     }
11 }

DemoController类

 1 package java.com.zhu.fte.web;
 2 
 3 import org.springframework.web.bind.annotation.GetMapping;
 4 import org.springframework.web.bind.annotation.RequestMapping;
 5 import org.springframework.web.bind.annotation.RestController;
 6 
 7 @RestController
 8 @RequestMapping("demo")
 9 public class DemoController {
10 
11     @GetMapping("test")
12     public String test(){
13         return "hello world";
14     }
15 
16 }

运行发现出现错误:

出现错误:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.2:test (default-test) on project fte-common: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.22.2:test failed: Plugin org.apache.maven.plugins:maven-surefire-plugin:2.22.2 or one of its dependencies could not be resolved: Could not transfer artifact junit:junit:jar:4.12 from/to central (https://repo.maven.apache.org/maven2): Connect to repo.maven.apache.org:443 [repo.maven.apache.org/151.101.52.215] failed: Connection timed out: connect -> [Help 1]

把缺少的org.apache.maven.plugins手动放到父工程的pom.xml里

 1 <build>
 2    <plugins>
 3       <plugin>
 4          <groupId>org.apache.maven.pluginsgroupId>
 5          <artifactId>maven-clean-pluginartifactId>
 6          <version>2.5version>
 7       plugin>
 8       <plugin>
 9          <groupId>org.apache.maven.pluginsgroupId>
10          <artifactId>maven-source-pluginartifactId>
11          <version>2.2version>
12       plugin>
13       <plugin>
14          <groupId>org.apache.maven.pluginsgroupId>
15          <artifactId>maven-compiler-pluginartifactId>
16          <version>3.0version>
17          <configuration>
18             <source>1.8source>
19             <target>1.8target>
20             <encoding>${file.encoding}encoding>
21             
22             <compilerArgument>-parameterscompilerArgument>
23          configuration>
24       plugin>
25       <plugin>
26          <groupId>org.apache.maven.pluginsgroupId>
27          <artifactId>maven-install-pluginartifactId>
28          <version>2.4version>
29       plugin>
30       <plugin>
31          <groupId>org.apache.maven.pluginsgroupId>
32          <artifactId>maven-jar-pluginartifactId>
33          <version>2.4version>
34          <configuration>
35             <archive>
36                <manifest>
37                   <addDefaultImplementationEntries>true
38                   addDefaultImplementationEntries>
39                manifest>
40             archive>
41          configuration>
42       plugin>
43 
44       <plugin>
45          <groupId>org.apache.maven.pluginsgroupId>
46          <artifactId>maven-surefire-pluginartifactId>
47          <version>2.13version>
48          <configuration>
49             <argLine>-Xmx512M -Dfile.encoding=${file.encoding}argLine>
50          configuration>
51       plugin>
52    plugins>
53 build>

运行fteWebApplication类里的main方法,默认端口为8080,访问http://localhost:8080/demo/test,正常出现以下情况:

IDEA创建SpringBoot的多模块项目教程_第12张图片

 

按照以上步骤,就可以初步建立SpringBoot多模块的项目,下一章将基于这个基础搭建Mybatis以及其逆向工程。

你可能感兴趣的:(IDEA创建SpringBoot的多模块项目教程)