SpringBoot创建多模块项目

构建项目

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

IMG_256

IMG_257

IMG_258

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

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

创建实体Module(bean)

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

IMG_259

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

IMG_260

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

IMG_261

创建用户Module(user)

接下来我们再来编写user项目模块,流程还是一样,我们来创建一个user的Module,我们user模块项目内需要使用bean模块项目内创建的用户实体,我们就可以在user模块项目内的pom.xml配置文件内添加对应的引入,项目结构如下图所示:

IMG_262

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

IMG_263

创建页面模块(pager)

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

IMG_264

IMG_265

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

IMG_266

创建JSP文件

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

IMG_267

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

IMG_268

注意:

pager模块下面得test包在后面启动的时候会报错,这一可以删掉,自动生成得启动类ServletInitializer在继承SpringBootServletInitializer类得时候默认的包会报错,需要导入新的包,如下图:

IMG_269

在介质项目中得pom.xml中注意modules标签里面是不是包含了所有的子模块,一般pager模块不在,需要手动添加,如下图:

IMG_270

使用外部Tomcat的形式运行SpringBoot项目,我们需要添加项目对本地Tomcat服务器的支持。

配置本地Tomcat服务器

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

IMG_271

如果没有配置好的tomcat,点+添加一个新的tomcat,目录配置完成后,需要将pager项目添加到Tomcat内,如下图所示:

IMG_272

运行测试

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

IMG_273