栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringBoot + :从零创建一个多模块项目

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringBoot + :从零创建一个多模块项目

说明

本文手把手演示如何使用Gradle + SpringBoot创建一个多模块项目,作为以后功能点验证、持续开发的基础。

环境信息
  1. 操作系统:win 10
  2. JDK:1…8.0-181
  3. Gradle:gradle-6.8.2
  4. IDEA:2020.1 ULTIMATE
  5. SpringBoot:2.5.6
新建项目
  1. 打开IDEA,显示如下,点击 “创建项目”

  2. 选择以Gradle方式创建项目,指定项目的JDK版本后,点击Next进入下一步

  3. 填写项目基本信息,点击完成

Location:项目目录,选定目录后ArtifactId和Name也即确定

GroupId:分组名,一般以域名反转形式设置,如域名是www.baidu.com, 则此处设置为com.baidu

ArtifictId:理解为项目名

Name:同ArtifactId

  1. 如果你需要更换gradle依赖,配置如下

  2. 完整的bild.gradle设置如下

//build.gradle配置初识:https://blog.csdn.net/lw_power/article/details/51241720
//gradle默认属性:http://www.cnblogs.com/langtianya/p/5209515.html
plugins {
    id 'java'
}
​
//全局使用的值
ext {
    springBootVersion = '2.5.6'
}
​
//该项目与全部子项目的属性
allprojects {
    //指定编译.java文件的jdk版本
    sourceCompatibility = 1.8
    //确保class文件与targetCompatibility指定版本,或者更新的java虚拟机兼容
    targetCompatibility = 1.8
​
    //项目所属组,中间以.(英文逗号)隔开
    group 'com.yibenzhenjing'
    //项目版本号
    version '1.0.1-SNAPSHOT'
​
    //应用插件
    apply plugin: 'java'
    apply plugin: 'idea'
​
    // java编译的时候缺省状态下会因为中文字符而失败,设置字符集
    [compileJava, compileTestJava, javadoc]*.options*.encoding = 'UTF-8'
​
    //仓库,国内外仓库访问、下载速度会不同
    repositories {
        mavenLocal()
        maven { url "http://maven.aliyun.com/nexus/content/groups/public" } //国内仓库,下载会快一点
    }
​
    //依赖,testCompile表示依赖范围是test,其他依赖写compile
    dependencies {
        compile group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: '2.5.6'
    }
}
​
subprojects {
​
}
​
  1. 在项目中创建.gitignore文件,填写指定格式的文件

至此,项目主模块创建完成。

创建子模块

1. 选中项目后, File -> New -> Module 或 右击项目,选择 New -> Module

  1. 选择以Gradle方式创建模块,指定JDK版本后,进入下一步

  2. 填写模块信息,点击完成

Parent:父级,选择之前创建的core项目

Name:填写模块名

其他配置不需要填写

  1. 可以看到项目下多出了util模块,build.gradle配置清空即可
// 如果单独构建,产物包名称可自定义
archivesbaseName = 'core-util'
​
dependencies {
​
}
  1. 在util模块下创建类
package com.yibenzhenjing.core.util;
​

public class JoinUtils {
    
    public static final String SEPARATOR_DASH = "-";
​
    
    public static String joinString(String... key) {
        return joinStringWithSeprator(SEPARATOR_DASH, key);
    }
​
    
    public static String joinStringWithSeprator(String separator, String... key) {
        StringBuilder sBuiler = new StringBuilder();
        int paramSize = key.length;
        int endKeyIndex = paramSize - 1;
        for (int i = 0; i < paramSize; i++) {
            sBuiler.append(key[i]);
            if (i > 0 && i < endKeyIndex) {
                sBuiler.append(separator);
            }
        }
        return sBuiler.toString();
    }
​
}
  1. 将util构建为二方库

执行成功后看到如下

  1. 创建应用模块site,过程同util,build.gradle如下
buildscript {
    repositories {
        mavenLocal()
        maven { url "http://maven.aliyun.com/nexus/content/groups/public" }
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}
apply plugin: 'org.springframework.boot'
​
archivesbaseName = 'site'
​
dependencies {
    compile project(':util')
}
  1. 创建项目启动类
package com.yibenzhenjing.core.site;
​
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
​

@SpringBootApplication
public class SiteApplication {
    public static void main(String[] args) {
        SpringApplication.run(SiteApplication.class, args);
    }
}
  1. site模块下创建测试类
package com.yibenzhenjing.core.site.controller;
​
import com.yibenzhenjing.core.util.JoinUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
​

@RestController
public class HelloController {
​
    @GetMapping("hello")
    public String hello() {
        return "hello" + JoinUtils.joinString(",", "author");
    }
}
​
运行

并在浏览器中打开 http://localhost:8080/hello ,结果如下,满足预期

至此,通过IDEA创建的 Gradle + SpringBoot的项目成功开发,如果您正在新建类似项目,希望能给您写参考。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/356105.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号