springboot基于maven多模块项目搭建(直接启动webApplication)

1. 新建maven项目springboot-module

2.把src删掉,新建module项目

  • springboot-module-api
  • springboot-module-model
  • springboot-module-service
  • springboot-module-util
  • springboot-module-web

3. 添加模块之间的依赖

3.1   springboot-module.pom

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <project xmlns="http://maven.apache.org/POM/4.0.0"
 3          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 5     <modelVersion>4.0.0</modelVersion>
 6
 7     <groupId>com.springboot.module</groupId>
 8     <artifactId>springboot-module</artifactId>
 9     <packaging>pom</packaging>
10     <version>1.0-SNAPSHOT</version>
11     <modules>
12         <module>springboot-module-api</module>
13         <module>springboot-module-model</module>
14         <module>springboot-module-service</module>
15         <module>springboot-module-util</module>
16         <module>springboot-module-web</module>
17     </modules>
18
19     <!-- Spring boot 父引用-->
20     <parent>
21         <groupId>org.springframework.boot</groupId>
22         <artifactId>spring-boot-starter-parent</artifactId>
23         <version>1.4.1.RELEASE</version>
24     </parent>
25     <dependencies>
26         <!-- Spring boot 核心web-->
27         <dependency>
28             <groupId>org.springframework.boot</groupId>
29             <artifactId>spring-boot-starter-web</artifactId>
30         </dependency>
31         <dependency>
32             <groupId>org.projectlombok</groupId>
33             <artifactId>lombok</artifactId>
34             <version>1.16.18</version>
35         </dependency>
36         <dependency>
37             <groupId>org.springframework.boot</groupId>
38             <artifactId>spring-boot-starter-logging</artifactId>
39         </dependency>
40         <dependency>
41             <groupId>org.springframework.boot</groupId>
42             <artifactId>spring-boot-starter-test</artifactId>
43         </dependency>
44     </dependencies>
45
46     <build>
47         <plugins>
48             <plugin>
49                 <groupId>org.springframework.boot</groupId>
50                 <artifactId>spring-boot-maven-plugin</artifactId>
51                 <executions>
52                     <execution>
53                         <goals>
54                             <goal>repackage</goal>
55                         </goals>
56                     </execution>
57                 </executions>
58                 <configuration>
59                     <executable>true</executable>
60                 </configuration>
61             </plugin>
62         </plugins>
63     </build>
64 </project>

3.2  springboot-module-api.pom

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <project xmlns="http://maven.apache.org/POM/4.0.0"
 3          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 5     <parent>
 6         <artifactId>springboot-module</artifactId>
 7         <groupId>com.springboot.module</groupId>
 8         <version>1.0-SNAPSHOT</version>
 9     </parent>
10     <modelVersion>4.0.0</modelVersion>
11     <artifactId>springboot-module-api</artifactId>
12
13     <dependencies>
14         <dependency>
15             <groupId>com.springboot.module</groupId>
16             <artifactId>springboot-module-util</artifactId>
17             <version>1.0-SNAPSHOT</version>
18             <scope>compile</scope>
19         </dependency>
20     </dependencies>
21 </project>

3.3   springboot-module-model.pom

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <project xmlns="http://maven.apache.org/POM/4.0.0"
 3          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 5     <parent>
 6         <artifactId>springboot-module</artifactId>
 7         <groupId>com.springboot.module</groupId>
 8         <version>1.0-SNAPSHOT</version>
 9     </parent>
10     <modelVersion>4.0.0</modelVersion>
11     <artifactId>springboot-module-model</artifactId>
12
13     <dependencies>
14         <dependency>
15             <groupId>org.springframework.boot</groupId>
16             <artifactId>spring-boot-starter-data-jpa</artifactId>
17         </dependency>
18         <dependency>
19             <groupId>mysql</groupId>
20             <artifactId>mysql-connector-java</artifactId>
21         </dependency>
22         <dependency>
23             <groupId>com.springboot.module</groupId>
24             <artifactId>springboot-module-util</artifactId>
25             <version>1.0-SNAPSHOT</version>
26             <scope>compile</scope>
27         </dependency>
28     </dependencies>
29
30 </project>

3.4   springboot-module-service.pom

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <project xmlns="http://maven.apache.org/POM/4.0.0"
 3          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 5     <parent>
 6         <artifactId>springboot-module</artifactId>
 7         <groupId>com.springboot.module</groupId>
 8         <version>1.0-SNAPSHOT</version>
 9     </parent>
10     <modelVersion>4.0.0</modelVersion>
11     <artifactId>springboot-module-service</artifactId>
12
13     <dependencies>
14         <dependency>
15             <groupId>com.springboot.module</groupId>
16             <artifactId>springboot-module-model</artifactId>
17             <version>1.0-SNAPSHOT</version>
18         </dependency>
19         <dependency>
20             <groupId>com.springboot.module</groupId>
21             <artifactId>springboot-module-api</artifactId>
22             <version>1.0-SNAPSHOT</version>
23         </dependency>
24         <dependency>
25             <groupId>ma.glasnost.orika</groupId>
26             <artifactId>orika-core</artifactId>
27             <version>1.5.1</version>
28         </dependency>
29         <dependency>
30             <groupId>org.apache.commons</groupId>
31             <artifactId>commons-lang3</artifactId>
32             <version>3.5</version>
33         </dependency>
34     </dependencies>
35 </project>

3.5   springboot-module-util.pom

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <project xmlns="http://maven.apache.org/POM/4.0.0"
 3          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 5     <parent>
 6         <artifactId>springboot-module</artifactId>
 7         <groupId>com.springboot.module</groupId>
 8         <version>1.0-SNAPSHOT</version>
 9     </parent>
10     <modelVersion>4.0.0</modelVersion>
11     <artifactId>springboot-module-util</artifactId>
12
13     <dependencies>
14         <dependency>
15             <groupId>org.springframework.boot</groupId>
16             <artifactId>spring-boot-starter-data-jpa</artifactId>
17         </dependency>
18     </dependencies>
19 </project>

3.6   springboot-module-web.pom

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <project xmlns="http://maven.apache.org/POM/4.0.0"
 3          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 5     <parent>
 6         <artifactId>springboot-module</artifactId>
 7         <groupId>com.springboot.module</groupId>
 8         <version>1.0-SNAPSHOT</version>
 9     </parent>
10     <modelVersion>4.0.0</modelVersion>
11     <artifactId>springboot-module-web</artifactId>
12
13     <dependencies>
14         <dependency>
15             <groupId>com.springboot.module</groupId>
16             <artifactId>springboot-module-service</artifactId>
17             <version>1.0-SNAPSHOT</version>
18         </dependency>
19     </dependencies>
20 </project>

4.  模块依赖关系图

5.  层说明

springboot-module-api    ——业务逻辑接口

springboot-module-model ——实体类

springboot-module-service ——数据访问层,业务逻辑层的实现

springboot-module-util    ——工具模块

springboot-module-web    ——表现层

6.  包名设计

包名推荐以groupId为开头定义,所有模块的包名结构统一规范,比如groupId是com.springboot.module,而所有模块包名都以com.springboot.module开头,其中web层的WebApplication需要放在com.springboot.module下,不能放在com.springboot.module.web或者com.springboot.module.controller下。推荐使用下面的第一种情况。

6.1. 包名以groupId开头,注意WebApplication.java的位置,必须放在com.springboot.module包下,不能放在com.springboot.module.controller或者com.springboot.module.web包下

6.2. 包名以groupId开头,web层WebApplication.java放在了com.springboot.module.web下。

启动WebApplication.java会报如下错误

6.2.1. 解决方法:

1)     第一步:在WebApplication中加入

1 @ComponentScan(basePackages = {"com.springboot.module"})不是@ComponentScan(basePackages = {"com.springboot.module.*"})

1)     第二步,在springboot-module-service模块中添加ServiceApplication.java类,

6.2.2. 包名不以groupId开头,其他和第一种情况一样也是可以的。但最好推荐是以groupId为开头的

7.只有 web层有application.properties

 1 server.port=8086
 2 server.servlet-path=/
 3 spring.resources.static-locations=classpath:/static/,classpath:/templates/
 4 spring.mvc.view.suffix=.html
 5
 6 #配置数据源
 7 spring.datasource.driver-class-name=com.mysql.jdbc.Driver
 8 spring.datasource.url=jdbc:mysql://localhost:3306/springboot-module
 9 spring.datasource.username=root
10 spring.datasource.password=root
11 spring.jpa.hibernate.ddl-auto=update
12 spring.jpa.show-sql=true
13
14 #在控制台输出彩色日志
15 spring.output.ansi.enabled=always

原文地址:https://www.cnblogs.com/jcjssl/p/9380309.html

时间: 2024-10-01 09:59:49

springboot基于maven多模块项目搭建(直接启动webApplication)的相关文章

SpringBoot创建maven多模块项目

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 如下图:输

Spring Boot 项目实战(一)Maven 多模块项目搭建

Maven父项目 以SpringBoot项目为例https://blog.csdn.net/weixin_30606669/article/details/99478544 Maven 多模块父子工程 (含Spring Boot示例)https://www.cnblogs.com/meitanzai/p/10945085.html https://www.cnblogs.com/orzlin/p/10330163.html 一.前言 最近公司项目准备开始重构,框架选定为 Spring Boot

Maven多模块项目搭建

最近一直在思考如何能够更好的重用代码.减少重复劳动,之前有一篇文章通过导入JAR包的形式,可以重用部分形如util类的方法,但是这样的话,管理起来jar包,特别是协同工作,多项目情况下,管理JAR会出现某些版本不统一的情况, 刚好最近在看Maven相关的资料,突然发现使用Maven是一个很好地方法. 2. 1: 本地通过创建Nexus私服仓库,可以将相关的项目打包jar上传到第三方仓库里面进行依赖,每次版本迭代,直接从Nexus私服仓库里面取出来最新的jar包即可.同时如果存在多项目依赖相同的j

SpringBoot+Maven 多模块项目的构建、运行、打包

本篇文章主要介绍了SpringBoot+Maven 多模块项目的构建.运行.打包,分享给大家,具体如下: 项目使用的工具: IntelliJ IDEA JDK 1.8 apache-maven-3.3.9 项目的目录: 主项目 springboot-multi 子模块 entity.dao.service.web 一.使用IDEA创建一个SpringBoot项目 : File -> new -> Project 项目名称为springboot-multi 二.删除项目中的src目录,把pom.

如何创建一个基于Maven的SmartGWT项目

如何创建一个基于Maven的SmartGWT项目 使用环境 Eclipse的版本为:Luna Service Release 2 (4.4.2)(这个其实不是很重要,你完全可以使用最新版本的Eclipse或者MyEclipse) Maven的版本为:3.1.0 SmartGWT的版本为:6.0p GWT的SDK版本为:2.7 前提准备 你需要安装Maven.如何安装Maven不是文本的内容,你可以参考我的关于Maven的博客. 把SmartGWT的jar包上传到私服服务器. 操作过程 创建GWT

maven之ssh项目搭建

1:新建maven-archetupe-webapp项目 2:web.xml配置文件如下 <?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2

idea新建maven多模块项目

1.新建一个maven多模块项目,比如这种结构: maven-demo |--demo-common |--demo-order |--demo-user 2.先新建一个maven项目,在maven项目里面建模块 新建完成后的结构是这样的 把src这个文件夹删掉 3.新建demo-common模块 这里选择Spring Initializr 新建完成后的是没有加到maven依赖里面去,所以java文件才会变红 引入依赖 完成后,把jdk的版本换成1.8的 现在demo-common的模块已经加到

eclipse导入SVN上的Maven多模块项目

一.SVN上Maven多模块项目结构 使用eclipse导入SVN上的Maven多模块项目 Maven多模块项目所在SVN目录 二.eclipse通过SVN导入到工作空间 工作空间位于F:/HPCWorkspace 2.1 File->Import,选择从SVN检出项目下载 2.2 选择/新建SVN资源库位置 如果资源库还没创建好,选择创建新的资源库位置,如果已经创建好资源库了,那么选择使用现有的资源库位置下载 不存在的话新建 存在的话,选择已经存在的资源库  2.3 选择要从SVN检出的文件夹

SVN中基于Maven的Web项目更新到本地过程详解

环境 MyEclipse:10.7 Maven:3.1.1 概述 最近在做项目的时候,MyEclipse下载SVN上面基于Maven的Web项目总是出现很多问题,有时候搞了很半天,Maven项目还是出现叉号,最后总结了方法步骤,终于可以将出现的问题解决,在此,将重现从SVN上将基于Maven的Web项目变成本地MyEclipse中项目的过程,问题也在其中进行解决. 问题补充 在使用Myeclipse的部署Web项目的时候,在点击部署按钮的时候,没有任何反应,在此提供两种解决方法,问题如图1所示: