使用IDEA构建Spring-boot多模块项目配置流程
使用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"?>
demo
com.example
0.0.1-SNAPSHOT
4.0.0
demo_dao
mysql
mysql-connector-java
5.1.48
org.mybatis
mybatis
3.5.3
org.springframework
spring-core
5.2.3.RELEASE
org.springframework
spring-beans
5.2.3.RELEASE
org.springframework
spring-context
5.2.3.RELEASE
org.springframework
spring-jdbc
5.2.3.RELEASE
org.mybatis
mybatis-spring
2.0.3
- demo_service/pom.xml(demo_service)
<?xml version="1.0" encoding="UTF-8"?>
demo
com.example
0.0.1-SNAPSHOT
4.0.0
demo_service
com.example
demo_dao
0.0.1-SNAPSHOT
org.springframework
spring-tx
5.2.3.RELEASE
org.springframework
spring-aop
5.2.3.RELEASE
org.aspectj
aspectjweaver
1.8.0
- demo_web/pom.xml(demo_web)
<?xml version="1.0" encoding="UTF-8"?>
demo
com.example
0.0.1-SNAPSHOT
4.0.0
demo_web
war
demo_web Maven Webapp
http://www.example.com
UTF-8
1.7
1.7
junit
junit
4.11
test
com.example
demo_service
0.0.1-SNAPSHOT
javax.servlet
javax.servlet-api
4.0.1
provided
jstl
jstl
1.2
org.springframework
spring-web
5.2.3.RELEASE
org.springframework
spring-webmvc
5.2.3.RELEASE
demo_web
maven-clean-plugin
3.1.0
maven-resources-plugin
3.0.2
maven-compiler-plugin
3.8.0
maven-surefire-plugin
2.22.1
maven-war-plugin
3.2.2
maven-install-plugin
2.5.2
maven-deploy-plugin
2.8.2
2) 配置文件夹路径
- 在demo_dao/src/main/java目录下创建包com.example.demo.ectity、com.example.demo.dao、com.example.demo.global分别用于存放实体类对象、持久类操作对象和工具类
- 在demo_dao/src/main/resources目录下创建文件夹com/example/demo/dao用于存放数据库mapper映射文件。注意创建目录时要用/分隔而不能使用.分隔,否则会产生报错。同时注意该目录路径必须与上一点中的dao包路径相同
- 在demo_service/src/main/java目录下创建com.example.demo包用于存放service接口类,并在该com.example.demo包下创建Impl包用于存放service接口的实现类
- 在demo_web/src/main/java目录下创建包com.example.demo.controller、com.example.global分别用于存放控制器类和工具类
3) 配置spring.xml
- 在demo_dao/src/main/resources目录下创建spring_dao.xml
- 在demo_service/src/main/resources目录下创建spring_service.xml
- 在demo_web/src/main/resources目录下创建spring_web.xml
- 打开Project Structure配置Spring。选择左侧的Modules,点击右侧三个子Module下的Spring选项。点击右上侧加号,将分别将spring-dao.xml、spring-service.xml、spring-web.xml文件选中配置到对应Spring模块下。