业务参数初始化

当我们需要在新的环境部署微服务时,经常需要初始化一些业务参数,把这些参数保存到数据库中,以便系统正常运行。传统的做法,是开发人员编写初始化sql脚本,给到部署的同事执行脚本。这样手工的操作,会增大部署成本和风险。随着系统的迭代,初始化脚本越来越混乱,无法做到简单高效的管理。isass 依托 基础微服务(base-service) 提供 业务参数初始化 的功能,帮助开发者进行参数初始化的工作。

使用方法

实现 ParamInitializer 接口即可


import cn.hutool.core.collection.CollUtil;
import org.springframework.stereotype.Component;
import vip.isass.api.service.base.param.initializer.ParamInitializer;
import vip.isass.base.api.model.dto.ParamSingleCodeValueDto;

import java.util.List;

/**
 * 课程参数初始化
 */
@Component
public class CourseParamInitializer implements ParamInitializer {

    @Override
    public String getKey() {
        return "course";
    }

    @Override
    public List<ParamSingleCodeValueDto<?>> getInitializationCodeValues() {
        return CollUtil.newArrayList(
                new ParamSingleCodeValueDto<String>().setCode("语文").setValue("CHINESE"),
                new ParamSingleCodeValueDto<String>().setCode("数学").setValue("MATHEMATICS")
        );
    }

    @Override
    public boolean override() {
        return false;
    }

}

接口方法解析

String getKey()

业务参数有key,需要全局唯一。

List<ParamSingleCodeValueDto<?>> getInitializationCodeValues()

初始化参数的内容。

boolean override()

微服务重启时,是否强制覆盖内容,即重新将业务参数写到数据库。

重启微服务,业务参数即可保存到数据库