详解Maven 搭建spring boot多模块项目(附源码)
程序员文章站
2024-02-26 08:56:40
本文介绍了maven 搭建spring boot多模块项目,分享给大家,具体如下:
备注:所有项目都在idea中创建
1.idea创建maven项目
1-...
本文介绍了maven 搭建spring boot多模块项目,分享给大家,具体如下:
备注:所有项目都在idea中创建
1.idea创建maven项目
- 1-1: 删除src,target目录,只保留pom.xml
- 1-2: 根目录pom.xml可被子模块继承,因此项目只是demo,未考虑太多性能问题,所以将诸多依赖。都写在根级`pom.xml`,子模块只需继承就可以使用。
- 1-3: 根级pom.xml文件在附录1
- 1-4: 依赖模块 mybatis spring-boot相关模块
2.创建子模块(module)
- 2-1: file > new > module 输入 model
- 2-2: file > new > module 输入 dao
- 2-3: file > new > module 输入 service
- 2-4: file > new > module 输入 webapi
3.修改子模块pom.xml配置
<?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>parent</artifactid> <groupid>com.luyh.projectv1</groupid> <version>1.0-snapshot</version> <relativepath>../pom.xml</relativepath> </parent> <modelversion>4.0.0</modelversion> <artifactid>projectv1-model</artifactid> </project>
注意:<font color="red"><relativepath>../pom.xml</relativepath></font>此段必须加上,用来继承父模块
至此,项目的基础结构搭建完毕了,接下来可以来撸代码了,哦哦稍等,我先介绍下各个子module的工作职责吧
4.子模块在项目中担任的'工作职责'
- model 此模块存放着所有的实体类
- dao 此模块存放着数据交互的具体实现,供service调用
- service 此模块存放业务代码实现,供api层调用
- webapi 此模块也可以不出现在项目中,为了写demo故将webapi层放进来
5.model层实体类编写
- 建立包名 com.luyh.projectv1.model
- 建实体类 member.java 具体代码请clone我的git,git地址在最下方
6.dao层数据库操作层
- 建立com.luyh.projectv1.dao.config,该包内只有2个让spring boot自动加载配置的配置java类
- 建立membermapper.java 具体内容看代码
- 在resources/mybatis 下建立membermapper.xml
- 建立imember.java
- 建立member.java 实现imember接口
- 建立resources/application.properties文件用于配置数据库连接
7. service 编写业务逻辑
- 建立 com.luyh.projectv1.service 包
- 建立imemberservice.java接口
- 建立memberservice.java实现类
- memberservice.java 类中自动注入daomember 并调用其方法获取数据
8. webapi 编写webapi获取json数据
- 建立application.java 启动应用
- 建立 com.luyh.projectv1.webapi.controller.membercontroller.java 写个rest风格controller
- 启动
9.sql文件 请自行导入mysql数据 sql文件
这里是
附录1
<?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"> <modelversion>4.0.0</modelversion> <groupid>com.luyh.projectv1</groupid> <artifactid>parent</artifactid> <version>1.0-snapshot</version> <packaging>pom</packaging> <parent> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-parent</artifactid> <version>1.3.3.release</version> </parent> <modules> <module>model</module> <module>dao</module> <module>service</module> <module>webapi</module> </modules> <!--申明依赖关系--> <dependencies> <dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-web</artifactid> </dependency> <dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-jdbc</artifactid> </dependency> <dependency> <groupid>org.mybatis</groupid> <artifactid>mybatis-spring</artifactid> <version>1.2.2</version> </dependency> <dependency> <groupid>org.mybatis</groupid> <artifactid>mybatis</artifactid> <version>3.2.8</version> </dependency> <dependency> <groupid>org.apache.tomcat</groupid> <artifactid>tomcat-jdbc</artifactid> </dependency> <dependency> <groupid>mysql</groupid> <artifactid>mysql-connector-java</artifactid> </dependency> </dependencies> <!--设置maven仓库--> <repositories> <repository> <id>spring-releases</id> <url>https://repo.spring.io/libs-release</url> </repository> </repositories> <pluginrepositories> <pluginrepository> <id>spring-releases</id> <url>https://repo.spring.io/libs-release</url> </pluginrepository> </pluginrepositories> </project>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。