spring mvc 、springboot 动态配置系统 mars-config

Apache
Java
跨平台
2019-12-12
fashionbrot

mars-config是spring mvc 、springboot 动态配置系统。支持http 轮训方式、更新、动态配置。

软件架构

软件架构说明

后端使用技术 :springboot mybatis jwt

前端使用:thymeleaf 模板引擎

数据库 :mysql

jdk :1.8

安装教程

  1. 先创建数据库mars_db ,导入 sql目录下的 init.sql 文件
  2. mars-console 后端管理页面,直接使用外置tomcat 启动即可 端口默认:8080
  3. mars-spring-config 发布jar 后依赖当前jar 即可使用
  4. 访问地址:ip + port 账户:mars 密码:mars 权限:超级管理员

使用说明

  1. 在启动类上使用 @EnableMarsConfig 开启功能使用

    1、mars.config.app-id 服务名 和 后端appName 一致

    2、mars.config.env-code 环境Code 和 后端envCode 一致

    3、mars.config.http.server-address 服务Ip,多个服务地址已逗号分隔

  2. 在后端管理操作

    1、应用环境管理 菜单 创建 应用、环境

    2、配置管理 菜单 创建配置 点击发布,依赖 mars-spring-config 就会收到服务端修改内容

  3. springboot 具体使用步骤

1、在启动类上添加 @EnableMarsConfig 开启mars 动态配置

import com.gitee.mars.spring.config.annotation.EnableMarsConfig;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
@EnableMarsConfig
public class Main  extends SpringBootServletInitializer {

    public static void main(String[] args) {
        SpringApplication.run(Main.class, args);
    }
}

2、通过 @MarsValue 获取动态配置的值 如同spring @Value 功能 autoRefreshed 表示是否自动更新当前值

    @MarsValue(value = "${abc}",autoRefreshed = true)
    private String abc;

3、通过@MarsConfigurationProperties 注解把对应配置映射到 TestConfig 类中,如springboot @ConfigurationProperties 功能相似

@MarsProperty 读取配置key @MarsIgnoreField忽略abc字段配置

import com.gitee.mars.spring.properties.annotation.MarsConfigurationProperties;
import com.gitee.mars.spring.properties.annotation.MarsIgnoreField;
import com.gitee.mars.spring.properties.annotation.MarsProperty;
import lombok.Data;


@Data
@MarsConfigurationProperties(fileName = "aaa",autoRefreshed = true)
public class TestConfig {

    @MarsProperty("abc")
    public String name ;

    @MarsIgnoreField
    private String abc;
}

4、通过 @MarsConfigListener 监听文件变化,可根据需要使用

    @MarsConfigListener(fileName = "aaa",type = ConfigTypeEnum.TEXT)
    public void marsConfigListenerTest(String context){
        System.out.print(context);
    }

    @MarsConfigListener(fileName = "aaa",type = ConfigTypeEnum.PROPERTIES)
    public void marsConfigListenerProperties(Properties properties){
        System.out.print(properties.toString());
    }

5、在配置文件中添加以下配置

mars.config.app-id=app
mars.config.env-code=betaXX
mars.config.http.server-address=192.168.0.108:8080

6、可通过 mars-test项目中的 springboot-test 参考使用demo

GitHub地址:https://github.com/fashionbrot/mars-config

的码云指数为
超过 的项目
加载中

评论(0)

暂无评论

暂无资讯

暂无问答

Digital Mars Compiler简介及使用

很早就下载了Digital Mars 的编译器dm8.42,现在已经都8.52了,下载来是一个压缩包,不用安装,解压之后就可以使用,这可那些vs好多了,文件小,不用安装,哈哈!可是当初的我在这方面是个菜...

2011/11/14 13:05
836
0
【腾讯Bugly干货分享】微信mars 的高性能日志模块 xlog

mars 是微信官方的终端基础组件,是一个使用 C++ 编写的业务性无关,平台性无关的基础组件。

2016/11/14 12:48
468
0
eclipse mars.2 install jboss tools failure

eclipse mars.2 install jboss tools fail. eclipse oxygen isntall jboss tools success.

2016/11/02 09:52
98
0
Eclipse-Mars Release (4.5.0)创建Maven项目报错

1、Eclipseb版本为Mars Release (4.5.0) 2、报错内容 Could not calculate build plan: Plugin org.apache.maven.plugins:maven-resources-plugin:2.6 or one of its dependencies could no...

2015/09/27 21:06
2.9K
0
【腾讯Bugly干货分享】微信终端跨平台组件 mars 系列(一) - 高性能日志模块xlog

mars 是微信官方的终端基础组件,是一个使用 C++ 编写的业务性无关,平台性无关的基础组件。目前已接入微信 Android、iOS、Mac、Windows、WP 等客户端。

2016/10/17 11:43
162
0
configure,pkg-config和PKG_CONFIG_PATH

1.什么是configure configure会根据传入的配置项目检查程序编译时所依赖的环境以及对程序编译安装进行配置,最终生成编译所需的Makefile文件供程序Make读入使用进而调用相关编译程式(通常调用...

2012/07/12 15:25
121
0
cannot find config.m4

phpize时偶尔会遇到cannot find config.m4的错误提示,下面给出解决办法

2015/12/21 17:27
1.4K
0
linux ssh_config和sshd_config配置文件

linux ssh_config和sshd_config配置文件

2015/12/20 19:07
647
0
eclipse mars集成插件开发j2ee项目

到eclipse官方下载最新版mars svn 1.10.x:http://subclipse.tigris.org/update_1.10.x properties文件编辑器:http://propedit.sourceforge.jp/eclipse/updates/ jetty:http://eclipse-je...

2015/08/19 10:11
4.1K
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部