最近在学习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项目

访问接口地址,可以显示出来时间

个人分类:
IntelliJ IDEASpringBoot

填写信息

什么都不选,完成向导

完成后项目结构如下

四、添加项目依赖

我们希望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项目

访问接口地址,可以显示出来时间

个人分类:
IntelliJ IDEASpringBoot
 
源码地址:https://gitee.com/wuhongpu/springboot-maven.git

IDEA创建多个模块MavenSpringBoot项目的更多相关文章

  1. 创建支持eclipse的多模块maven项目

    通过maven可以创建多个关联模块的项目(Multiple Module Projects).由一个总的模块,下面包含多个子模块(子模块还可以包含子模块). 这种maven功能能支持大型的项目构建,往 ...

  2. maven创建子项目(适用于多模块管理项目)

    在eclipse或者myeclipse下构建maven项目,该项目由多个子模块组成. 1.创建一个父项目 NEW -->project-->maven-->maven Project ...

  3. IntelliJ Idea14 创建Maven多模块项目

    Maven多模块项目的参考资料 Sonatype上的教程 http://books.sonatype.com/mvnex-book/reference/multimodule.html 在这个教程里, ...

  4. Intellij IDEA13 创建多模块Maven项目

    目标:构建一个类似于如下图所示的这种结构的Maven项目. 首先,需要选中“File”——>“New Project”如下图所示 选中“Maven”,设置项目名称与项目构建地址,点击“Next” ...

  5. 从头开始编写一个Orchard网上商店模块(3) - 创建Orchard.Webshop模块项目

    原文地址:http://skywalkersoftwaredevelopment.net/blog/writing-an-orchard-webshop-module-from-scratch-par ...

  6. IntelliJ IDEA创建多模块依赖项目

    刚从Eclipse转IDEA, 所以记录一下IDEA的使用 创建多模块依赖项目 1. 新建父工程 这样就创建好了一个普通项目,一般我们会把src删掉,在此项目下新建新的模块 2. 新建子模块 创建供前 ...

  7. idea创建Maven多模块项目

    最近几天学习到了创建多模块项目,应为自己使用的是Idea,所以想用idea创建多模块,查阅了相关资料后,自己做一个记录. 一.首先创建一个maven项目 Parent Project,创建xxx-ro ...

  8. IntelliJ IDEA创建maven多模块项目

    创建完成后的目录结构如下: 一.项目主要分成3个模块,yves-parent为父模块,yves-dao和yves-web(webapp类型的模块)为子模块. 二 .Parent Project,创建y ...

  9. 如何在idea里面新建一个maven项目,然后在这个maven项目里创建多个子模块

    如何在idea里面配置maven我这里就不多说了 先新建一个maven项目作为总的管理项目 不用勾选什么,直接下一步 这样子一个普通的maven项目就创建成功了. 因为这个项目是用来管理多个子模块的, ...

随机推荐

  1. 035 控制并发 select * from test1 where id =1 for update 就会对这行加锁了?

    今天在看同事程序的时候,看到这种用法,顺便学习下. 一:理论 1.功能 这个功能是上锁. 上的是一个排它锁,也就是说,其他的事务是可以读取的.但是不能写入或者更新. 二:实践 1.创建表 2.提交一条 ...

  2. 009 spring boot中文件的上传与下载

    一:任务 1.任务 文件的上传 文件的下载 二:文件的上传 1.新建一个对象 FileInfo.java package com.cao.dto; public class FileInfo { pr ...

  3. SQL注入——SQL Injection

    本文部分内容转自:https://www.cnblogs.com/rush/archive/2011/12/31/2309203.html http://www.diybl.com/course/7_ ...

  4. POJ 2531-Network Saboteur(dfs)

    题目链接:https://vjudge.net/problem/POJ-2531 最大流-最小割问题: https://wenku.baidu.com/view/54323c030722192e453 ...

  5. linux 服务器安装 nginx

    每次安装 nginx 都在网上找教程,这次特意记录一下安装过程. 第一步:安装依赖 一键安装依赖 yum -y install gcc zlib zlib-devel pcre-devel opens ...

  6. 开发环境之git:团队协作git工作流与常用命令

    此篇文章只是一篇傻瓜式的,记录工作中比较规范且常见的一个git工作流需要用到的命令,让你可以快速的开始工作.而不是一些长篇大论的理论知识,如果你有用过sourcetree或者其它图形化工具,结合你正在 ...

  7. XamarinEssentials教程应用程序信息AppInfo

    XamarinEssentials教程应用程序信息AppInfo   很多应用程序都提供一个“关于”功能.该功能会向用户展示应用程序的基本信息,如版本号.应用程序名称等.这个功能可以通过Xamarin ...

  8. Django路由详解

    一.路由基础 1.路由url函数:路由自上而下进行匹配:url(正则路径,视图函数内存地址,默认参数,路由别名) 2.路由正则: 规定开始:^ | 规定结束:$ #url(r'index', view ...

  9. [OC] Block的使用

    由ControllerA跳转到controllerB,在controllerB中选择一个参数的值,并将它传回给controllerA. 首先,在controllerB的.h文件中写入: @interf ...

  10. Centos6.5部署Rsyslog+cron+rsync备份服务器

    1.前言 rsync是一种快速且功能非常广泛的文件复制工具.它可以在本地复制,通过任何远程shell复制到/从另一个主机复制,也可以复制到/从远程rsync守护进程.它提供了大量的选项,可以控制其行为 ...