使用idea maven-创建多模块父子springboot项目

4 篇文章 0 订阅
3 篇文章 0 订阅

1.dependencyManagement 和 dependencies 区别:
dependencies:即使子项目中不写依赖,子项目仍然会从父项目中继承该依赖项(全部继承)。
dependencyManagement:里只是声明依赖,并不实现引入,因此子项目需要显示的声明需要用的依赖,如果不在子项目中声明依赖,是不会从父项目中继承下来的,只有在子项目中写了依赖项,并且没有指定具体版本,才会从父项目中继承该项,并且version和scope都读取自父项目pom,如果子项目指定了版本,就会使用子项目中指定的jar版本。
2.子项目:
zero-webL控制层
zero-service:服务层
3. 主要实现控制层访问服务层代码进行运行,达到多模块中相互协作的功能。

创建父项目:
在这里插入图片描述
输入项目名称
可以根据实际选一些依赖
在这里插入图片描述
在这里插入图片描述
父项目创建完成,结构如下:
在这里插入图片描述
父项目只是用来管理一些jar包版本,不做什么具体功能,所以删除多余的项,如下:
在这里插入图片描述
创建子项目,在父项目上右键:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
子项目创建完成,结构如下(另一个子项目也如上创建):
在这里插入图片描述
在父项目的pom.xml中统一版本号:
在这里插入图片描述
下载该版本的依赖(上面我改为2.1.5版本依赖了):
先下载资源,再导入到项目中。
在这里插入图片描述
在父项目中不做具体功能实现,所以把相关依赖删除:
在这里插入图片描述
在zero-web子项目的pom.xml中加入如下代码:

<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

在这里插入图片描述
在zero-web子项目中,添加启动类:
在这里插入图片描述
启动类SpringBootWebApplication.java,代码:

package com.zero;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class SpringBootWebApplication {
    public static void main(String[] args) {
        SpringApplication.run(SpringBootWebApplication.class,args);
    }
}

在这里插入图片描述
创建一个controller文件夹,创建TestController.java写控制层代码:

package com.zero.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("test")
public class TestController {

    @GetMapping("/hello")
    public String hello(){
        return "hello";
    }
}

在这里插入图片描述
在SpringBootWebApplication.java中右键运行项目。
在这里插入图片描述
启动成功:
在这里插入图片描述
访问项目:http://localhost:8080/test/hello
在这里插入图片描述
需要实现父项目管理子项目,子项目之间相互协助,如下操作:
通过父级管理子模块,在父项目的pom.xml中添加:

<dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>zero-web</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>zero-service</artifactId>
                <version>${project.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

在这里插入图片描述
zero-web控制层访问zero-service服务层,在zero-web子模块的pom.xml中添加如下代码:

   <dependency>
            <groupId>com.zero</groupId>
            <artifactId>zero-service</artifactId>
        </dependency>

在这里插入图片描述
由于zero-web的pom.xml中引用了zero-service子模块,所以我把web启动依赖移动到了zero-service的pom.xml文件中:

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

在这里插入图片描述
在zero-service中创建service包,创建一个UserService.java写方法
在这里插入图片描述
创建一个UserServiceImpl.java 实现UserService.java 里面的方法:
在这里插入图片描述
在zero-web子模块中,修改testController.java接口方法,操作zero-service子模块中userService的testService方法,达到2个模块之间相互协作。

package com.zero.controller;

import com.zero.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;

@RestController
@RequestMapping("test")
public class TestController {

    @Autowired
    private UserService userService;

    /*@GetMapping("/hello")
    public String hello(){
        return "hello";
    }*/

    @GetMapping("/hello")
    public String hello(){
        return userService.testService();
    }
}

在这里插入图片描述
重新启动项目,访问项目(service方法的实现类中写的返回值为test):
在这里插入图片描述

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以按照以下步骤来创建一个基于Maven和Spring Boot的多模块项目: 1. 打开你的IDE(例如IntelliJ IDEA或Eclipse)并创建一个新的aven项目。 2. 在创建项目的过程中,选择创建一个多模块项目。 3. 定义父模块:在项目根目录下创建一个名为pom.xml的文件,并将其定义为父模块。在pom.xml中添加以下内容: ```xml <groupId>com.example</groupId> <artifactId>parent</artifactId> <version>1.0.0</version> <packaging>pom</packaging> <modules> <module>module1</module> <module>module2</module> <!-- 添加其他子模块 --> </modules> ``` 4. 创建模块:在父模块的根目录下创建一个名为module1的文件夹,并在其中创建一个名为pom.xml的文件。在pom.xml中添加以下内容: ```xml <parent> <groupId>com.example</groupId> <artifactId>parent</artifactId> <version>1.0.0</version> </parent> <artifactId>module1</artifactId> <packaging>jar</packaging> <!-- 添加其他依赖和配置 --> ``` 5. 在子模块中添加Spring Boot依赖:在子模块的pom.xml文件中添加Spring Boot相关的依赖,例如: ```xml <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <!-- 添加其他依赖 --> </dependencies> ``` 6. 创建其他子模块:按照相同的步骤创建其他子模块。 7. 配置父模块:回到父模块的pom.xml文件,确保以下内容已添加: ```xml <modules> <module>module1</module> <module>module2</module> <!-- 添加其他子模块 --> </modules> ``` 8. 构建和运行项目使用Maven命令或IDE工具来构建和运行你的项目。你可以在父模块使用以下命令构建项目: ``` mvn clean install ``` 这将构建父模块和所有子模块,并将它们安装到本地Maven仓库中。 这样,你就成功创建了一个基于Maven和Spring Boot的多模块项目。你可以在每个子模块中编写自己的业务逻辑,并在父模块中管理它们的依赖关系。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值