第二十二章:SpringBoot项目多模块运用与设计

在企业级的项目开发中,系统过于庞大时对应的开发人员的数量也会陆续的增加,正因为如此也会给开发人员业务逻辑之间对接增加一些不必要的困难,如果是开发人员过多时,项目提交代码以及逻辑交互起来依然会出现很多问题,并且如果多个项目公用同一个功能那么分离起来也比较麻烦。针对这个情况我们可以采用多种的形式来处理,如:功能模块单独项目开发,功能模块分组,Maven项目Module形式。我们接下来就详细的讲解下有关Maven的Module的模式。

免费专题文章汇总

恒宇少年在博客整理出来了SpringBoot、ApiBoot、SpringCloud的文章汇总【SpringBoot基础教程专题】,【SpringCloud基础教程专题】,【ApiBoot组件使用专题

本章目标

基于SpringBoot项目设计Maven管理的多模块项目,并且便宜模块对应生成Jar文件用于系统。

构建项目

我们采用IntelliJ IDEA工具来创建一个Maven项目,项目的pom.xml要添加对应SpringBoot的配置,因为Maven多模块项目内的模块并不能独立的存在,必须有一个介质来包含,项目结构如下图1所示:

图1

可以看到我们创建的Maven项目结构如上图1所示,pom.xml内我们对应的添加了对SpringBoot的支持,因为我们需要使用SpringBoot来作为项目基本框架,并在pom.xml配置文件引入了Web模块的支持,所以介质项目内的Module都会用于Web依赖。

我们在介质Maven项目内创建三个Module,分别为:bean(所有实体类Module)、user(用户逻辑Module)、pager(页面Module)。

创建实体Module(bean)

创建Module的方式与创建项目有点出入,我们点击项目名称后右键->New->Module->Maven,界面如下图2所示:

图2

我在ArtifactId栏目填写了bean,证明这个项目是Chapter22组内的一个子项目,点击Next后创建Module即可,Module创建完成后的展现形式如下图3所示:

图3

我们可以看到之前创建的介质Maven项目还存在src目录,这个我们删掉就可以了,对于我们本章项目来说没有存在的意义。可以看到我们创建的模块的pom.xml配置文件内对应添加了parent节点项目是我们的介质项目,这也是Maven模块项目的好处,我们可以把共同引入的内容在介质项目的pom.xml配置文件内都引入,那么子项目也就会有相对应的依赖。下面我们在bean模块项目内添加一个用户的实体,如下图4所示:

图4

我们的实体创建完成后,bean项目就可以先放一放。

创建用户Module(user)

接下来我们再来编写user项目模块,流程还是一样,我们来创建一个user的Module,项目结构如下图5所示:

图5

我们user模块项目内需要使用bean模块项目内创建的用户实体,我们就可以在user模块项目内的pom.xml配置文件内添加对应的引入,如下图6所示:

图6

下面我们来测试user模块项目添加了依赖后是否可以使用UserBean实体,我们在user模块项目内添加一个UserController并添加一些逻辑处理,如下图7所示:

图7

上图7内我们添加了一个index方法,当我们在浏览器访问/user/index地址时并且将传入的UserBean内的name属性值传入到user_index.jsp页面内,既然UserBean可以在user模块项目中使用,也就证明了我们的引入是没有问题的。

创建页面模块(pager)

我们在user模块内配置了跳转user_index.jsp页面,所以我们需要对应添加一个专门存放页面的模块,创建web模块项目需要注意我们不选择Maven项目创建,而是选择SpringBoot项目类型创建,如下图8所示:

图8

创建完成后项目结构如下图9所示:

图9

可以看到我们创建pager模块的maven配置文件pom.xml内对应parent节点的内容并不是我们chapter22项目,并且我们chapter22配置文件对应的内容都已经配置,这里不用重复引用,所以我们这里需要手动修改下,改动后内容如下图10所示:

图10

我们pager模块项目只需要引入user模块项目即可,如果你需要bean模块项目引入也一并添加dependency节点配置即可。

创建JSP文件

在创建user_index.jsp之前我们需要在application.properties配置文件内添加对应的路径配置,如下图11所示:

图11

根据上面的配置所示我们创建的user_index.jsp的所处位置为:/webapp/WEB-INF/jsp/user_index.jsp,创建user_index.jsp文件内容如下图12所示:

图12

到目前为止我们的项目代码已经编写完成,下面我们来使用外部Tomcat的形式运行SpringBoot项目,我们需要添加项目对本地Tomcat服务器的支持。

配置本地Tomcat服务器

点击Run->Edit Configurations->"+"->Tomcat Server->Local,界面如下图13所示:

图13

下面我们需要配置本地Tomcat的目录为止,如下图14所示:

图14

目录配置完成后,需要将pager项目添加到Tomcat内,如下图15所示:

图14

配置完成后点击Apply即可完成本地tomcat的配置,直接运行Tomcat就可以了。

运行测试

工具右上角选择tomcat8服务器,点击运行按钮后查看控制台输出的日志,如果没有异常恭喜你已经成功的启动了多模块项目,我们打开浏览器输入网址:http://127.0.0.1:8080/user/index?name=admin,界面输出内容如下图15所示:

图15

可以看到我们成功的输出了内容,看着比较简单的一句话的输出,我们使用了三个项目模块来完成,正因为如此我们的模块化项目才能最大化的被引用并且使用。

总结

以上内容就是本章的全部讲解内容,本章主要讲解了SpringBoot项目架构下我们如何配置Maven多模块项目并且部署运行测试,下一章我会讲解我们如果打包运行War项目文件。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 156,265评论 4 359
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,274评论 1 288
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,087评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,479评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,782评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,218评论 1 207
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,594评论 2 309
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,316评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 33,955评论 1 237
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,274评论 2 240
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,803评论 1 255
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,177评论 2 250
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,732评论 3 229
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 25,953评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,687评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,263评论 2 267
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,189评论 2 258

推荐阅读更多精彩内容