# spring-cloud-easy-config **Repository Path**: LiuFqiang/spring-cloud-easy-config ## Basic Information - **Project Name**: spring-cloud-easy-config - **Description**: 简易版动态配置中心。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 6 - **Forks**: 0 - **Created**: 2024-07-10 - **Last Updated**: 2024-08-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: SpringBoot, config ## README ### spring-cloud-easy-config 麻雀虽小,五脏俱全。 提供轻量级的配置及动态刷新 对于中小项目,完全没有必要硬上Nacos,也不需要服务端 只需要引入依赖,配置连接池配置,即可实现动态配置 #### 引入方法 springboot版本 < 2.4.0 ```xml icu.liufuqiang spring-cloud-easy-config-starer 0.0.2 ``` springboot版本 >= 2.4.0 ```xml icu.liufuqiang spring-cloud-easy-config-starer 0.1.0 ``` #### 项目配置 bootstrap.yml ```yaml spring: cloud: easy-config: enabled: true url: jdbc:mysql://localhost:3306/config?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai username: root password: 123456 ``` #### 默认sql脚本 ```sql create DATABASE config; -- ---------------------------- -- Table structure for config -- ---------------------------- DROP TABLE IF EXISTS `config`; CREATE TABLE `config` ( `id` int(0) NOT NULL AUTO_INCREMENT, `data_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of config -- ---------------------------- INSERT INTO `config` VALUES (1, 'dataId', 'test: \r\n name: 12312311'); ``` #### 使用方法 ```java @RefreshScope @Configuration @ConfigurationProperties(prefix = "test") public class DynamicConfig { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return "DynamicConfig{" + "name='" + name + '\'' + '}'; } } ``` > 默认将会查询config表下面的content字段,作为配置内容,如果需要自定义查询sql,可以实现ConfigInterceptor ```java public class CustomConfigInterceptor implements ConfigInterceptor { @Override public String configSql(String dataId) { return "select content from custom_table"; } } ```