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以及其逆向工程。

目录
相关文章
|
3月前
|
Java 关系型数据库 MySQL
springboot项目集成dolphinscheduler调度器 实现datax数据同步任务
springboot项目集成dolphinscheduler调度器 实现datax数据同步任务
403 2
|
3月前
|
分布式计算 Java 大数据
springboot项目集成dolphinscheduler调度器 可拖拽spark任务管理
springboot项目集成dolphinscheduler调度器 可拖拽spark任务管理
216 2
|
3月前
|
Java 测试技术 Spring
简单学Spring Boot | 博客项目的测试
本内容介绍了基于Spring Boot的博客项目测试实践,重点在于通过测试驱动开发(TDD)优化服务层代码,提升代码质量和功能可靠性。案例详细展示了如何为PostService类编写测试用例、运行测试并根据反馈优化功能代码,包括两次优化过程。通过TDD流程,确保每项功能经过严格验证,增强代码可维护性与系统稳定性。
173 0
|
3月前
|
存储 Java 数据库连接
简单学Spring Boot | 博客项目的三层架构重构
本案例通过采用三层架构(数据访问层、业务逻辑层、表现层)重构项目,解决了集中式开发导致的代码臃肿问题。各层职责清晰,结合依赖注入实现解耦,提升了系统的可维护性、可测试性和可扩展性,为后续接入真实数据库奠定基础。
315 0
|
4月前
|
网络协议 Java
在SpringBoot项目中使用Netty实现远程调用
本文介绍了使用Netty解决网络连接性能问题的方法,重点讲解了Netty的NIO特性及其在SpringBoot中的应用。Netty作为高效的NIO框架,支持非阻塞IO,能通过单线程管理多个客户端连接,简化TCP/UDP套接字服务器开发。文章详细展示了Netty在SpringBoot中实现远程调用的过程,包括服务端与客户端代码实现、依赖配置及测试验证。通过示例代码,如`NettyServer`、`NettyClientUtil`等,清晰说明了Netty的工作原理和实际应用,解决了半包等问题,并提供了完整的测试结果。
561 3
|
Java
IDEA 突然不能识别SpringBoot项目,以前都是正常的
发现SpringBoot插件是关闭的,对天发誓我没有手贱去关闭这个插件(难道是忘记了,不太可能,不管了),所以启用下插件重启就好了!!!
8232 0
|
Java
idea 识别不出 springboot 项目
idea 识别不出 springboot 项目,可能是没有启用idea springboot 插件看看有没有被勾上
3581 0
|
5月前
|
Java 应用服务中间件 Maven
在IntelliJ IDEA中如何配置使用Maven以创建Tomcat环境
所以,别担心这些工具看起来有些吓人,实际上这些都是为了帮助你更好的完成工作的工具,就像超市里的各种烹饪工具一样,尽管它们看起来可能很复杂,但只要你学会用,它们会为你烹饪出一道道美妙的食物。这就是学习新技能的乐趣,让我们一起享受这个过程,攀登知识的高峰!
355 27
|
5月前
|
Java 应用服务中间件 Apache
在IntelliJ IDEA中使用Maven配置Tomcat环境
此配置方法具有较高的实用性,简单易懂。遵循以上步骤,您将能顺利在IntelliJ IDEA中使用Maven配置Tomcat环境,从而进行Web项目的开发和调试。
596 18
|
7月前
|
IDE 程序员 开发工具
只用正版!教你5个方法,白嫖JetBrains家族的所有产品,包含:IntelliJ IDEA、PyCharm、WebStorm、CLion、Rider
程序员晚枫分享了5种官方认证的免费使用JetBrains家族产品的方法,包括内容创作者计划、开源项目支持、教育许可证、用户组支持和开发者认可计划。这些方法帮助个人开发者与小型团队合法获取强大开发工具,如IntelliJ IDEA、PyCharm等,降低开发成本,提升效率。同时提醒大家遵守使用规范,尊重知识产权。
1250 13