前言:由于项目已经拆分为模块化,每一个项目都存在相同的配置文件,比如数据库 redis 等。上线需要修改相关的配置信息,以前也用到过spring profile。总感觉用的不太舒服,最近在逛CSDN 时看到有很多同行在用spring cloud config 来统一管理配置文件,觉得是个不错的方案。
简单介绍下,本次我的配置文件是存放在数据库中的,而不是放在svn 或者 git 上面,大家可以几种方式都试一下,选出最合适的一种就好了,那么这些都没什么问题了 可以试试eureka 来做个高可用的方案。
首先说下config-server 项目,是spring boot ,由于是基于mysql 那么用mybatis 或者 原生的 jdbc 或者 spring 的 jdbctemplete 都可以,看各位的选择。
数据库表结构:
CREATE TABLE `cloud_config` (
`cloud_config_id` int(32) NOT NULL AUTO_INCREMENT COMMENT '主键',
`cloud_config_name` varchar(100) NOT NULL COMMENT '应用名,GLOBAL为全局',
`cloud_config_key` varchar(100) NOT NULL COMMENT '属性名',
`cloud_config_desc` varchar(255) NOT NULL COMMENT '参数描述',
`cloud_config_dev_value` varchar(255) DEFAULT NULL COMMENT '开发环境值',
`cloud_config_test_value` varchar(255) DEFAULT NULL COMMENT '测试环境值',
`cloud_config_prod_value` varchar(255) DEFAULT NULL COMMENT '正式环境值',
PRIMARY KEY (`cloud_config_id`)
) ENGINE=InnoDB AUTO_INCREMENT=154 DEFAULT CHARSET=utf8 COMMENT='系统环境变量配置表';
实体类:
public class CloudConfig{
private String CloudConfigId;
private String CloudConfigName;
private String CloudConfigKey;
private String CloudConfigDesc;
private String CloudConfigDevValue;
private String CloudConfigTestValue;
private String CloudConfigProdValue;
setter getter 方法省略....