详解Maven 搭建spring boot多模块项目(附源码)

网友投稿 386 2023-04-08


详解Maven 搭建spring boot多模块项目(附源码)

本文介绍了Maven 搭建spring boot多模块项目,分享WEASBhDv给大家,具体如下:

备注:所有项目都在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配置

xmlns:xsi="http://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

com.luyh.projectWEASBhDvv1

1.0-SNAPSHOT

../pom.xml

4.0.0

projectv1-model

xmlns:xsi="http://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

com.luyh.projectWEASBhDvv1

1.0-SNAPSHOT

../pom.xml

4.0.0

projectv1-model

注意:../pom.xml此段必须加上,用来继承父模块

至此,项目的基础结构搭建完毕了,接下来可以来撸代码了,哦哦稍等,我先介绍下各个子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

xmlns:xsi="http://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">

4.0.0

com.luyh.projectv1

parent

1.0-SNAPSHOT

pom

org.springframework.boot

spring-boot-starter-parent

1.3.3.RELEASE

model

dao

service

webapi

org.springframework.boot

spring-boot-starter-web

org.springframework.boot

spring-boot-starter-jdbc

org.mybatis

mybatis-spring

1.2.2

org.mybatis

mybatis

3.2.8

org.apache.tomcat

tomcat-jdbc

mysql

mysql-connector-java

spring-releases

https://repo.spring.io/libs-release

spring-releases

https://repo.spring.io/libs-release

xmlns:xsi="http://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">

4.0.0

com.luyh.projectv1

parent

1.0-SNAPSHOT

pom

org.springframework.boot

spring-boot-starter-parent

1.3.3.RELEASE

model

dao

service

webapi

org.springframework.boot

spring-boot-starter-web

org.springframework.boot

spring-boot-starter-jdbc

org.mybatis

mybatis-spring

1.2.2

org.mybatis

mybatis

3.2.8

org.apache.tomcat

tomcat-jdbc

mysql

mysql-connector-java

mysql

mysql-connector-java

spring-releases

https://repo.spring.io/libs-release

spring-releases

https://repo.spring.io/libs-release


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:vue组件初学_弹射小球(实例讲解)
下一篇:浅谈springboot多模块(modules)开发
相关文章

 发表评论

暂时没有评论,来抢沙发吧~