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

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

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

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

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

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

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

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

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

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

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

1<!--web特征-->

2<dependency>

3     <groupId>org.springframework.boot</groupId>

4     <artifactId>spring-boot-starter-web</artifactId>

5     <version>2.3.1.RELEASE</version>

6</dependency>

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

 

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

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

(2)选择Maven,点击Next

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

(4)填写Module,点击Finish

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

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

controller层添加以下依赖:

<dependencies><dependency><groupId>com.example</groupId><artifactId>fte-common</artifactId><version>0.0.1-SNAPSHOT</version></dependency><dependency><groupId>com.example</groupId><artifactId>fte-dao</artifactId><version>0.0.1-SNAPSHOT</version></dependency><dependency><groupId>com.example</groupId><artifactId>fte-service</artifactId><version>0.0.1-SNAPSHOT</version></dependency></dependencies>

service层添加以下依赖:

<dependencies><dependency><groupId>com.example</groupId><artifactId>fte-dao</artifactId><version>0.0.1-SNAPSHOT</version></dependency></dependencies>

(7)测试

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

fteWebApplication类:

packagecom.zhu.fte.web;
importorg.springframework.boot.SpringApplication;
importorg.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplicationpublicclassfteWebApplication {
publicstaticvoidmain(String[] args) {
SpringApplication.run(fteWebApplication.class,args);
     }
 }

DemoController类

packagejava.com.zhu.fte.web;
importorg.springframework.web.bind.annotation.GetMapping;
importorg.springframework.web.bind.annotation.RequestMapping;
importorg.springframework.web.bind.annotation.RestController;
@RestController@RequestMapping("demo")
publicclassDemoController {
@GetMapping("test")
publicStringtest(){
return"hello world";
     }
 }

运行发现出现错误:

出现错误:

[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.plugins</groupId>5<artifactId>maven-clean-plugin</artifactId>6<version>2.5</version>7</plugin>8<plugin>9<groupId>org.apache.maven.plugins</groupId>10<artifactId>maven-source-plugin</artifactId>11<version>2.2</version>12</plugin>13<plugin>14<groupId>org.apache.maven.plugins</groupId>15<artifactId>maven-compiler-plugin</artifactId>16<version>3.0</version>17<configuration>18<source>1.8</source>19<target>1.8</target>20<encoding>${file.encoding}</encoding>21<!--编译的时候方法不改变方法参数名称,用于支持使用反射获取方法参数名称-->22<compilerArgument>-parameters</compilerArgument>23</configuration>24</plugin>25<plugin>26<groupId>org.apache.maven.plugins</groupId>27<artifactId>maven-install-plugin</artifactId>28<version>2.4</version>29</plugin>30<plugin>31<groupId>org.apache.maven.plugins</groupId>32<artifactId>maven-jar-plugin</artifactId>33<version>2.4</version>34<configuration>35<archive>36<manifest>37<addDefaultImplementationEntries>true38</addDefaultImplementationEntries>39</manifest>40</archive>41</configuration>42</plugin>4344<plugin>45<groupId>org.apache.maven.plugins</groupId>46<artifactId>maven-surefire-plugin</artifactId>47<version>2.13</version>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,正常出现以下情况:

 

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

目录
相关文章
|
9月前
|
监控 测试技术 开发者
IDEA项目调试你都会用了么,快看看是否有你不知道的调试技巧
在IntelliJ IDEA中,熟练运用调试工具可显著提升开发效率。通过设置断点、单步执行、变量监控等功能,快速定位问题并优化代码性能。此外,掌握多线程调试、异常处理及远程调试技巧也至关重要。为提高效率,建议合理使用条件断点、快捷键与日志监控,同时不断学习总结经验。若觉得有用,别忘了点赞收藏!
IDEA项目调试你都会用了么,快看看是否有你不知道的调试技巧
|
9月前
|
IDE Java 开发工具
【Java基础-环境搭建-创建项目】IntelliJ IDEA创建Java项目的详细步骤
IntelliJ IDEA创建Java项目的图文详细步骤,手把手带你创建Java项目
1694 10
【Java基础-环境搭建-创建项目】IntelliJ IDEA创建Java项目的详细步骤
|
11月前
|
Java 应用服务中间件 API
Servlet开发流程 (里面有Idea项目添加Tomcat依赖详细教程)
本文详细介绍了Servlet的开发流程,包括在IntelliJ IDEA中添加Tomcat依赖的详细教程。通过上述步骤,开发者可以快速搭建并运行一个基本的Servlet应用,理解并掌握Servlet的开发流程对于Java Web开发至关重要。希望本文能够帮助开发者顺利进行Servlet开发,提高工作效率。
1347 78
|
9月前
|
数据安全/隐私保护
IntelliJ IDEA使用技巧:在一个项目中如何正确引用其他子模块。
我希望这个解答可以帮助你,有了这些知识,你可以更好地使用IntelliJ IDEA并轻松处理项目中的子模块。
831 19
|
11月前
|
JavaScript 前端开发 Java
Idea启动SpringBoot程序报错:Veb server failed to start. Port 8082 was already in use;端口冲突的原理与解决方案
本文解决了Idea启动SpringBoot程序报错:Veb server failed to start. Port 8082 was already in use的问题,并通过介绍端口的使用原理和操作系统的端口管理机制,可以更有效地解决端口冲突问题,并确保Web服务器能够顺利启动和运行。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
前端开发 JavaScript 关系型数据库
前后端分离 -- SpringBoot + Vue实战项目 部署至阿里云服务器
前后端分离 -- SpringBoot + Vue实战项目 部署至阿里云服务器
4153 2
前后端分离 -- SpringBoot + Vue实战项目 部署至阿里云服务器
|
Java Maven
springboot项目打jar包后,如何部署到服务器
springboot项目打jar包后,如何部署到服务器
1235 1
|
Java 关系型数据库 MySQL
将springboot项目部署到阿里云服务器
将springboot项目部署到阿里云服务器
|
Java 关系型数据库 MySQL
保姆级教程——将springboot项目部署到阿里云服务器包含环境配置(小白包会)
本文档详细介绍了将SpringBoot项目部署到阿里云服务器的步骤。首先,通过Xshell连接服务器,使用公网IP地址。接着,下载JDK的Linux版本,使用XFTP上传并解压,配置环境变量。然后,安装MySQL 5.7,包括下载YUM源、安装、启动服务以及修改root密码和开启远程访问。最后,将SpringBoot项目打包成jar,上传至服务器,使用`java -jar`命令运行,通过`nohup`确保服务持续运行。配置安全组以允许远程访问。
2996 0
|
前端开发 NoSQL JavaScript
SpringBoot前后端分离项目,打包、部署到服务器详细图文流程
SpringBoot前后端分离项目,打包、部署到服务器详细图文流程
25047 11