IDEA创建多个模块MavenSpringBoot项目
最近在学习springboot,先从创建项目开始,一般项目都是一个项目下会有多个模块,这里先创建一个最简单的实例,一个项目下有一个springboot模块项目提供web服务,引用另一个java项目(相当于业务逻辑)
期望的项目结构如下
springboot-test
—-springboot-api
—-springboot-utils
一、创建空Maven项目
首先打开IDEA,点击“Create New Project”
选择Maven,点击下一步
填写信息,直到完成项目创建
创建成功后
删除src文件夹,在pom文件中添加
<packaging>pom</packaging>
二、创建Springboot项目模块
在根项目上点击右键,选择Module
选择Spring Initializr
填写信息
选择依赖项
完成向导,springboot-api是新建出来的项目
三、创建utils项目模块
再次新建Module
选择Spring Initializr
填写信息
什么都不选,完成向导
完成后项目结构如下
四、添加项目依赖
我们希望api项目能够使用utils项目的类,需要在api项目中引用utils项目
在api项目的pom.xml的dependencies节点添加如下内容
<!--引用springboot-utils项目 -->
<dependency>
<groupId>com.gl</groupId>
<artifactId>springboot-utils</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
- 1
- 2
- 3
- 4
- 5
- 6
结果如下
五、编写测试代码
上面添加好了依赖,下面我们分别编写api项目和utils项目的测试代码验证一下项目结构和依赖
假设我们在utils项目中有个helper类,类里有个获取系统时间的方法,希望访问api接口的时候返回系统时间,api接口需要使用helper类获取系统时间
1、编写utils项目代码
在utils项目下建立包和类,如下
类中写方法
/**
* 获取当前时间
* @return
*/
public static Date getCurDate()
{
Date d = new Date();
return d;
}
2、编写api项目代码
在api项目的代码下添加包
在新建的包下添加测试类
最终结构如下
编写接口方法
3、测试
执行api项目
访问接口地址,可以显示出来时间
填写信息
什么都不选,完成向导
完成后项目结构如下
四、添加项目依赖
我们希望api项目能够使用utils项目的类,需要在api项目中引用utils项目
在api项目的pom.xml的dependencies节点添加如下内容
<!--引用springboot-utils项目 -->
<dependency>
<groupId>com.gl</groupId>
<artifactId>springboot-utils</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
- 1
- 2
- 3
- 4
- 5
- 6
结果如下
五、编写测试代码
上面添加好了依赖,下面我们分别编写api项目和utils项目的测试代码验证一下项目结构和依赖
假设我们在utils项目中有个helper类,类里有个获取系统时间的方法,希望访问api接口的时候返回系统时间,api接口需要使用helper类获取系统时间
1、编写utils项目代码
在utils项目下建立包和类,如下
类中写方法
/**
* 获取当前时间
* @return
*/
public static Date getCurDate()
{
Date d = new Date();
return d;
}
2、编写api项目代码
在api项目的代码下添加包
在新建的包下添加测试类
最终结构如下
编写接口方法
3、测试
执行api项目
访问接口地址,可以显示出来时间
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决