最近在学习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. php防攻击

    客户端脚本植入 XSS跨站脚本攻击(跨站脚本攻击,输入(传入)自动执行恶意的HTML代码,如盗取用户Cookie.破坏页面结构.重定向到其它网站):过滤<,>&,"等特殊 ...

  2. python实现简单工厂模式

    python实现简单工厂模式 模式定义 简单工厂模式(Simple Factory Pattern):又称为静态工厂方法(Static Factory Method)模式,它属于类创建型模式.在简单工 ...

  3. 004.etcd集群部署-动态发现

    一 etcd发现简介 1.1 需求背景 在实际环境中,集群成员的ip可能不会提前知道.如使用dhcp自动获取的情况,在这些情况下,使用自动发现来引导etcdetcd集群,而不是指定静态配置,这个过程被 ...

  4. BZOJ-4-2038: [2009国家集训队]小Z的袜子(hose)-莫队

    思路 :分块 思想 处理离线查询操作  对查询进行排序 在同一块内的按照 r 进行排序 不同块 的按照 L进行排序. #include<bits/stdc++.h> using names ...

  5. native和html5的通信方案

    一.jsbridge 重写WebView中WebChromeClient类的onJsPrompt()方法 二.url里面带参数 三.在js里面写全局函数,在native中调用

  6. vue实例属性之methods和computed

    我们可以把同一函数放在methods或者computed中,区别在于computed有缓存,计算属性只有在它的相关依赖发生改变时才会重新求值,即数据改变才会执行函数.而methods每当触发重新渲染时 ...

  7. VBA调用DOS程序两种方法

    Set wsh = VBA.CreateObject("WScript.Shell") 'wsh.Run strExePath & " g", vbHi ...

  8. BZOJ.5287.[AHOI HNOI2018]毒瘤(虚树 树形DP)

    BZOJ LOJ 洛谷 设\(f[i][0/1]\)表示到第\(i\)个点,不选/选这个点的方案数.对于一棵树,有:\[f[x][0]=\prod_{v\in son[x]}(f[v][0]+f[v] ...

  9. JavaScript—异步提交表单的6种方式

    FormData的详细介绍及使用请点击此处,那里对FormData的方法和事件已经表述的非常清楚,这里就不再浪费时间在介绍一遍了.本文主要针对FormData对象的使用以及异步文件上传进行详细的说明. ...

  10. 潭州课堂25班:Ph201805201 django 项目 第十八课 前台 注解 (课堂笔记)

    在静态文件 js/user上当下,的 auth.js 文件中 $(function () { let $username = $('#user_name'); // 选择id为user_name的网页 ...