从零开始整SpringBoot-搭建一个企业级项目
阅读原文时间:2023年08月09日阅读:3

创建Springboot项目

在企业里的项目多数是分Modules的,更多是通过物理方式隔离层之间的职责。

首先按照原有新建SpringBoot项目创建,填好相关信息后,选择Java 8其他不用选。

完成后得到上面的结构,把红色选中的相关模块删除后,得到下面的项目结构

新建Module

什么都不需要选,下一步

填好Name后(注意前缀统一,通过-进行分割)点击完成,得出以下结构。

重复上面步骤,把sikiro-system-infrastructure、sikiro-system-repository新增上去,得到下面结构

添加项目依赖

sikiro-om-api->sikiro-om-application->sikiro-om-repository,sikiro-om-infrastructure被三层直接依赖

一共有两种方式添加:

在File->Project Structure->Modules,点击右侧的+,选择Module。

另外一种在pom.xml添加dependencies


http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
om sikiro.system 1.0.0
4.0.0

<artifactId>sikiro-system-api</artifactId>

<dependencies>  
    <dependency>  
        <groupId>sikiro.system</groupId>  
        <artifactId>sikiro-system-application</artifactId>  
        <version>1.0.0</version>  
        <scope>compile</scope>  
    </dependency>  
    <dependency>  
        <groupId>sikiro.system</groupId>  
        <artifactId>sikiro-system-infrastructure</artifactId>  
        <version>1.0.0</version>  
        <scope>compile</scope>  
    </dependency>  
</dependencies>  

添加Package

在sikiro-system-api项目添加新package-com.sikiro.system.api,同时添加SikiroSystemApiApplication

@SpringBootApplication()
@ComponentScan(basePackages = {"com.sikiro.system"})
public class SikiroSystemApiApplication {
public static void main(String[] args) {
SpringApplication.run(SikiroSystemApiApplication.class, args);
}
}

然后继续添加HelloController到新的package-com.sikiro.system.api.controller

@RestController
public class HelloController {

@GetMapping("/api/hi")  
public ApiResult Hi(){  
    return ApiResult.Success();  
}  

}

在sikiro-system-infrastructure添加下面两个类

package com.sikiro.system.infrastructure.base;

import lombok.AccessLevel;
import lombok.Setter;

/**
* API统一响应实体
* @param 业务实体
*/
public class ApiResult {

@Setter(AccessLevel.PRIVATE)  
public int resultCode;

@Setter(AccessLevel.PRIVATE)  
public T data;

@Setter(AccessLevel.PRIVATE)  
public String message;

@Setter(AccessLevel.PRIVATE)  
public boolean success;

@Setter(AccessLevel.PRIVATE)  
public boolean failed;

@Setter(AccessLevel.PRIVATE)  
public boolean error;

public static <T> ApiResult<T> Success() {  
    return Success(ApiResultCode.Succeed.Message(), null, ApiResultCode.Succeed.Value());  
}

public static <T> ApiResult<T> Success(T data) {  
    return Success(ApiResultCode.Succeed.Message(), data, ApiResultCode.Succeed.Value());  
}

public static <T> ApiResult<T> Success(String msg) {  
    return Success(msg, null);  
}

public static <T> ApiResult<T> Success(String msg, T data, int code) {  
    ApiResult<T> result = new ApiResult<>();  
    result.setMessage(msg);  
    result.setData(data);  
    result.setResultCode(code);  
    result.setSuccess(true);  
    result.setFailed(false);  
    result.setError(false);

    return result;  
}

public static <T> ApiResult<T> Success(String msg, T data) {  
    return Success(msg, data, ApiResultCode.Succeed.Value());  
}

public static <T> ApiResult<T> Failed() {  
    return Failed(ApiResultCode.Failed.Message(), null, ApiResultCode.Failed.Value());  
}

public static <T> ApiResult<T> Failed(String msg) {  
    return Failed(msg, null);  
}

public static <T> ApiResult<T> Failed(String msg, T data) {  
    return Failed(msg, data, ApiResultCode.Failed.Value());  
}

public static <T> ApiResult<T> Failed(String msg, T data, int code) {  
    ApiResult<T> result = new ApiResult<>();  
    result.setMessage(msg);  
    result.setData(data);  
    result.setResultCode(code);

    result.setSuccess(false);  
    result.setFailed(true);  
    result.setError(false);

    return result;  
}

public static <T> ApiResult<T> Error(String msg) {  
    ApiResult<T> result = new ApiResult<>();  
    result.setMessage(msg);  
    result.setResultCode(ApiResultCode.Error.Value());

    result.setSuccess(false);  
    result.setFailed(true);  
    result.setError(true);

    return result;  
}  

}

package com.sikiro.system.infrastructure.base;

public enum ApiResultCode {

Succeed(200,"请求成功"),  
Failed(400,"请求失败"),  
Error(500,"服务执行异常");

private int \_index;  
private String \_msg;

ApiResultCode(int index, String msg) {  
    \_index = index;  
    \_msg = msg;  
}

public int Value() {  
    return \_index;  
}  
public String Message() {  
    return \_msg;  
}

}

最后编辑启动配置

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器