关键词:
SpringBoot创建maven多模块项目
项目结构
该项目名称为springboot-maven-multi,由springboot-maven-multi、user-dao、user-domain、user-service、user-web个模块组成,其中springboot-maven-multi模块是其他模块的父模块。
第一步:新建springboot-maven-multi项目
File -> New -> Project -> Spring Initializr
如下图:输入Group、Artifact等信息,Type选择Maven Pom
然后一直点击Next,最后Finish即可。
最后项目生成后结构只有一个pom.xml文件,无src目录,如下图
第二步:新建user-domain、user-dao、user-service、user-web模块
如:新建user-domain模块
File -> New -Module -> Maven
在下图的Artifact中输入 user-domain
设置模块名称和保存路径
点击Finish即可。
user-dao、user-service、user-web模块新建步骤也相同,只需修改模块名称即可。
第三步:编写user-domain模块代码
创建User实体类
package com.lnjecit.domain; /** * @author lnj * createTime 2018-11-03 10:06 **/ public class User { private Long id; private String name; private String password; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
第四步:编写user-dao模块代码
创建UserDao类(此处只是演示创建多模块,所以没有连接数据库),user-dao模块依赖于user-domain模块,所以需在pom.xml文件中引入user-domain依赖
package com.lnjecit.dao; import com.lnjecit.domain.User; import org.springframework.stereotype.Component; import java.util.ArrayList; import java.util.List; /** * @author lnj * createTime 2018-11-03 9:59 **/ @Component public class UserDao { public List<User> query() { List<User> list = new ArrayList<>(); User user = new User(); user.setId(1L); user.setName("lnj"); user.setPassword("123456"); list.add(user); return list; } }
第五步:编写user-service模块代码
创建UserService类,user-service模块依赖于user-dao和user-domain模块,所以需在pom.xml文件中引入user-dao和user-domain依赖
package com.lnjecit.service; import com.lnjecit.dao.UserDao; import com.lnjecit.domain.User; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; /** * @author lnj * createTime 2018-11-03 10:01 **/ @Service public class UserService { @Autowired UserDao userDao; public List<User> query() { return userDao.query(); } }
第六步:编写user-web模块代码
创建UserController类,user-web模块依赖于user-service和user-domain模块,所以需在pom.xml文件中引入user-service和user-domain依赖
package com.lnjecit.controller; import com.lnjecit.domain.User; import com.lnjecit.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; /** * @author lnj * createTime 2018-11-03 10:12 **/ @RequestMapping("/user") @RestController public class UserController { @Autowired private UserService userService; @GetMapping("/list") public List<User> list() { return userService.query(); } }
创建UserApplication启动类
package com.lnjecit; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; /** * @author lnj * createTime 2018-11-03 10:15 **/ @SpringBootApplication public class UserApplication { public static void main(String[] args) { SpringApplication.run(UserApplication.class, args); } }
第七步:修改pom.xml文件
修改最外层pom.xml文件,完整pom.xml文件如下:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" 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.lnjecit</groupId> <artifactId>springboot-maven-multi</artifactId> <packaging>pom</packaging> <version>1.0-SNAPSHOT</version> <modules> <module>user-web</module> <module>user-service</module> <module>user-dao</module> <module>user-domain</module> </modules> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.8.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>1.3.0.RELEASE</version> <configuration><!-- 指定该Main Class为全局的唯一入口 --> <mainClass>com.lnjecit.UserApplication</mainClass> <layout>ZIP</layout> </configuration> <executions> <execution> <goals> <goal>repackage</goal><!--可以把依赖的包都打包到生成的Jar包中--> </goals> <!--可以生成不含依赖包的不可执行Jar包--> <!-- configuration> <classifier>exec</classifier> </configuration> --> </execution> </executions> </plugin> </plugins> </build> </project>
需注意的是spring-boot-maven-plugin插件版主需重写且指定为1.3.0.RELEASE,我试过指定其它版本,测试没通过,原因没找到,还有就是需指定启动类
第八步:启动user-web项目
运行UserApplication类,启动成功
第九步:打包测试
在项目更目录下,点击右键 -> Run Maven -> clean package -Dmaven.test.skip=true
打包成功
注意一定要选择项目根目录下执行打包命令,否则会提示打包不成功。
项目地址
https://github.com/linj6/springboot-maven-multi.git
参考资料
https://blog.csdn.net/Message_lx/article/details/54632947
idea创建一个springboot多模块项目
一、创建空Maven项目二、左边选择maven,右边可以什么不选,直接next;三、填写artifactId,点击next直到finish四、finish后,idea会生成如下结果模块,删除src,并在pom文件加上packing五、创建第一个springcloud模块 六、finish后的项目... 查看详情
springboot多模块项目框架搭建
创建根项目,NewProject创建一个名为sms-bomber的SpringBoot新项目,打包为JAR的即可,这里只添加Lombok与spring-boot-starter-web依赖,这两个依赖会传递给所有子模块,删除创建完成的项目中的.mvnsrcmvnwmvnw.cmd创建启动模块,根目录项目名上... 查看详情
多模块项目的 Maven 配置
...【发布时间】:2017-09-2112:54:39【问题描述】:我正在使用SpringBoot创建一个多模块项目,该项目将有3个模块:moduleA、moduleB和moduleC。我正在关注这个教程https://spring.io/guides/gs/multi-module/#scratch在根目录中我创建了3个 查看详情
springboot+maven多模块项目(创建依赖打包可执行jar包部署测试)完整流程
转:https://blog.csdn.net/baidu_41885330/article/details/81875395 开发环境:IDEA, SprngBoot2.0.4, &nbs 查看详情
多 Maven 模块 Spring MVC 项目到 Spring Boot
】多Maven模块SpringMVC项目到SpringBoot【英文标题】:MultiMavenModuleSpringMVCProjecttoSpringBoot【发布时间】:2016-09-1316:26:02【问题描述】:在我发帖之前我已经做了很多研究,我想就我是否应该创建一个新的SpringBoot项目,并使用多maven结... 查看详情
spring-boot构建多模块项目
...有一个介质来包含。1.创建一个Maven项目,可以创建一个springboot项目作为基本框架,并且需要在pom.xml中引入Web的支持。2.在介质Maven项目中创建module,一般分为三个module:api/service/web& 查看详情
text创建多模块maven项目(代码片段)
[菜鸟springcloud入门]第一章:构建多模块的maven项目+创建注册中心eureka子模块
...来一步步学习和理解SpringCloud。本系列适合有一定Java以及SpringBoot基础的同学阅读。每篇文章末尾都附有本文对应的Github源代码,方便同学调试。Github仓库地址:https://github.com/qqxx6661/springcloud_for_ 查看详情
maven搭建企业级多模块项目
1.创建一个maven项目 选择pom 完成 2.创建模块 项目右键选择module,创建模块、创建子模块 其余的打包时都为jar 地址:https://github.com/LeviFromCN/maven-demo 查看详情
springboot之ssm多模块应用
1.构建项目1.创建新项目时选择Spring 2.填写包名和项目名 3.选择如下框架 4.pom文件中使用dependencyManagement把依赖包起来<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/ 查看详情
REST API 在带有 H2 数据库的 Spring Boot Maven 多模块项目中总是抛出 404 错误
】RESTAPI在带有H2数据库的SpringBootMaven多模块项目中总是抛出404错误【英文标题】:RESTAPIisalwaysthrowing404errorinSpringbootmavenmultimoduleprojectwithH2database【发布时间】:2021-05-2413:17:18【问题描述】:我是SpringBoot的新手,我用SpringBoot创建... 查看详情
利用intellijidea创建maven多模块项目
一、项目结构 multi-module-PRoject是主工程,里面包含两个模块(Module):web-app是应用层,用于界面展示,依赖于web-service参的服务。web-service层是服务层,用于给app层提供服务。二、构建项目2.1ParentProject新建一个空白标准mavenpr... 查看详情
springboot+react前后端分离多模块项目框架搭建流程(代码片段)
背景最近两年参与的项目多是基于SpringBoot【后端】+Vue或React【前端】,说是前后端分离,实际还是全栈,只是静态资源搭上了前端的框架而已。那么就面临一个问题,既然不是纯粹的前后端分离,怎么调试... 查看详情
springboot多模块聚合工程
aggregation环境:java1.8,idea1.新建maven聚合父工程file-new-project-maven 快速创建一个maven工程,删除无关文件,只保留pom.xml pom.xml文件内容如下2. 查看详情
如何将 Spring Boot 项目集成到已经存在的多模块 Maven 项目中?
】如何将SpringBoot项目集成到已经存在的多模块Maven项目中?【英文标题】:HowtointegrateaSpringBootprojectintoanalreadyexistingmulti-moduleMavenproject?【发布时间】:2016-12-1709:26:35【问题描述】:我有一个多模块Maven项目,它有一个带有一系列... 查看详情
maven构建项目(多模块项目)
原文来自:http://blog.csdn.net/subuser/article/details/18988813。在eclipse下构建maven项目,该项目由多个子模块组成。1.创建一个父项目NEW-->project-->maven-->mavenProject,点击下一步,进入newmavenProject的Selectprojectnameandlocation界面, 查看详情
使用idea创建springboot多模块项目
参考技术A一、创建夫项目项目打开idea---》newproject点击next进入下一步点击next选择项目目录,点击完成以下为创建好的项目二、创建module在swagger项目中修改pom文件以下为新创建好的项目启动swagger项目,可以启动成功三、修改pom... 查看详情
springboot+maven+nacos搭建微服务应用
1、创建微服务应用理解:和创建多模块应用一样,只不过此处的各种方法不再是通过“类库”进行调用,而是通过服务(controller或service)(1)按上图创建多模块项目(这块还没有深入理解,... 查看详情