SpringBoot 构建多 module webapp 项目
简介
基于 SpringBoot 构建多 module webapp 项目,主要是实现代码的分层,让代码逻辑看起来更加的清晰。下面主要讲的是把一个 webapp 项目给分成三层。分别是:
web层:负责定义启动类、controller、模板引擎(静态资源、前端页面)
commons 层:负责定义数据模型及公共代码
biz 层:负责数据访问层及业务实现
具体的代码分层,可以根据自己的理解调整,上面只是提供一个参考。
一. 创建父级项目
1.新建 web 项目
借助 idea 工具新建一个基于 maven 的 web 项目,假设命名为“house”作为父级项目。
2.配置 pom.xml
父级项目只需要引入 springboot 的依赖。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.3.RELEASE</version>
<relativePath/>
</parent>
二、创建 web 层 module
1.新建 module
右键项目,new -> Module,假设命名为“house-web”。
2.放什么内容?
controller 层的 module 也就是 house-web,主要存放 controller 的代码、静态资源、页面代码、拦截器、log4j 日志配置等,还有整个项目的启动类!!!
3.配置 pom.xml
由于该 module 是在父级项目的基础上新建的,所以不需要再引入 springboot 的依赖了,可以根据自己的需求引入相关的依赖。比如,我项目里的页面显示用到了 freemarker ,所有要引入 freemarker 的依赖。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
4.创建启动类
启动类一定要跟 controller 包同层,不然会报错。图示如上。
@SpringBootApplication
@EnableHttpClient
@EnableAsync
public class HouseApplication {
public static void main(String[] args) {
SpringApplication.run(HouseApplication.class, args);
}
}