使用IDEA构建Spring-boot多模块项目配置流程
1.创建项目
- 点击Create New Project
- 在左侧选中Spring Initializer,保持默认配置,点击下一步。
- 在Group和Artifact栏中填入项目坐标,点击下一步。
groupid和artifactId被统称为“坐标”是为了保证项目唯一性而提出的,如果你要把你项目弄到maven本地仓库去,你想要找到你的项目就必须根据这两个id去查找。
groupId一般分为多个段,这里我只说两段,第一段为域,第二段为公司名称。域又分为org、com、cn等等许多,其中org为非营利组织,com为商业组织。举个apache公司的tomcat项目例子:这个项目的groupId是org.apache,它的域是org(因为tomcat是非营利项目),公司名称是apache,artigactId是tomcat。
比如我创建一个项目,我一般会将groupId设置为cn.pq,cn表示域为中国,pq是我个人姓名缩写,artifactId设置为testProj,表示你这个项目的名称是testProj,依照这个设置,你的包结构最好是cn.pq.testProj打头的,如果有个StudentPeng,它的全路径就是cn.pq.testProj.StudentPeng
- 这一步可以选择模板。如果不想将项目分成多个模块,可以勾选web中的spring web选项,直接使用提供的web模板。
为了将项目分为多个模块,这里先不勾选任何模板,直接点击下一步。
- 填写项目名称并选择存放路径,点击下一步。
2.目录结构配置
- 等待项目创建完毕,勾选右下角的Enable Auto-Import自动导入添加的Maven依赖。初次创建Spring-boot项目可能需要等待一段时间。
- 创建DAO层:在项目根目录上点右键-New-Module
- 选择Maven项目,点击下一步,命名为demo_dao,点击Finish。
创建Service层,方法同上。
创建Web层:选择Maven项目后,在右侧勾选Create from archtype,并在下方选中maven-archetype-webapp模板,点击next并命名为demo_web,点击next。
- 保持默认,点击Finish。等待web模块配置完成。
- 打开web模块,现在的目录结构如下图所示。
- 接下来配置web模块中缺少的java目录和resources目录。在demo_web目录上点击右键-New-Directory,双击添加java目录。再同样的操作添加resources目录。
- 如果这里没有目录提示,需要手动创建,并在Project Structure的Modules中将其分别配置为demo_web的Sources和Resources文件夹。
- 配置好后的整体目录结构如下(.mvn HELP.md mvnw mvnw.cmd可以删除)
3.文件配置
1) 配置pom.xml中的Maven依赖
- demo_dao/pom.xml(demo_dao)
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>demo</artifactId>
<groupId>com.example</groupId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>demo_dao</artifactId>
<dependencies>
<!--mybatis相关-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.48</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.3</version>
</dependency>
<!--spring依赖相关-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.2.3.RELE