专栏首页算法之名springboot项目代码如何使用Disconf

springboot项目代码如何使用Disconf

因为是springboot的项目,不同于springmvc,不需要写那么多的xml配置文件。

第一步,还是放入pom的依赖

<dependency>
   <groupId>com.baidu.disconf</groupId>
   <artifactId>disconf-client</artifactId>
   <version>2.6.36</version>
</dependency>

第二步,是写一个配置类

package com.xxx.xxx.disconf.config;

import com.baidu.disconf.client.DisconfMgrBean;
import com.baidu.disconf.client.DisconfMgrBeanSecond;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * Created by 关键 on 2018-01-29.
 * Disconf配置类
 */
@Configuration
public class DisConfig {
    @Bean(destroyMethod = "destroy")
    public DisconfMgrBean getDisconfMgrBean() {
        DisconfMgrBean disconfMgrBean = new DisconfMgrBean();
        disconfMgrBean.setScanPackage("com.wmq.consumer");
        return disconfMgrBean;
    }

    @Bean(destroyMethod = "destroy", initMethod = "init")
    public DisconfMgrBeanSecond getDisconfMgrBean2() {
        return new DisconfMgrBeanSecond();
    }
}

第三步,在resources目录下放入disconf.properties

# 是否使用远程配置文件
# true(默认)会从远程获取配置 false则直接获取本地配置
enable.remote.conf=true
#
# 配置服务器的 HOST,用逗号分隔  127.0.0.1:8000,127.0.0.1:8000
#
conf_server_host=http://xxx.xxx.xxx.xxx:xx
# 版本, 请采用 X_X_X_X 格式
version=1_0_0_0
# APP 请采用 产品线_服务名 格式
app=spring-boot-xxx-xxx-xxx
# 环境
env=online
# debug
debug=true
# 忽略哪些分布式配置,用逗号分隔
ignore=
# 获取远程配置 重试次数,默认是3次
conf_server_url_retry_times=1
# 获取远程配置 重试时休眠时间,默认是5秒
conf_server_url_retry_sleep_seconds=1

大概说一下这里面啥意思,conf_server_host,就是你之前配置服务器nginx的地址。app不好解释,上图

总之就是跟你服务端建立的保持一致。

环境就是你建立配置项是在哪里建立的,如图

第四步,选好你在代码中哪些常量,全部在上图中加入配置项,录入进去,这个是可以随时在线修改的,无需到代码中修改,无需改一个常量要重新编译一次代码。

第五步,在代码中使用配置项

@Service
public class PriceService {
    private double money = 1000;

    private static final String KEY = "money";

    /**
     * 单项配置项
     */
    @DisconfItem(key = KEY)
    public double getMoney() {
        return money;
    }

    public void setMoney(double money) {
        this.money = money;
    }
}

@DisconfItem(key = KEY)这个是很重要的一个标识,就是使用在disconf中配的money这个常量

这里配成了100,运行你调用这个常量的代码

至此springboot使用disconf就结束了。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Java 8日期类型在Springboot Controller,Mybatis中的一些处理

    首先Java 8的日期类型LocalDate,LocalDateTime,LocalTime在Mybatis中并没有映射关系,为此mybatis推出了一个补丁。

    算法之名
  • 使用动态代理只代理接口(非实现类)

    假设现在我们有一个已知的算法,我们需要写任意一个接口打上我们特有的标签,那么这个接口的方法都可以执行这个算法,好比Mybatis的Dao,或者Feign的接口。...

    算法之名
  • 浅谈mybatis的日志适配模式 顶

    Java开发中经常用到的日志框架有很多,Log4j、Log4j2、slf4j等等,Mybatis定义了一套统一的日志接口供上层使用,并为上述常用的日志框架提供了...

    算法之名
  • 动态代理详解

    代理 是常用的基本设计模式之一,在某些情况下,一个客户不想或者不能直接引用一个对 象,此时可以通过一个称之为“代理”的第三者来实现 间接引用。代理对象可以在客户...

    栋先生
  • 关于DataGridView_DataError事件的问题

    本文转载:http://blog.csdn.net/szstephenzhou/article/details/7834725

    跟着阿笨一起玩NET
  • Android实现图片加载进度提示

    本文实例为大家分享了Android实现图片加载进度提示的具体代码,供大家参考,具体内容如下

    砸漏
  • 【选择题】Java基础测试六(15道)

    【选择题】Java基础测试六(15道) 71.main方法是Java应用程序执行的入口点,关于main方法的方法头以下哪项是合法的?(B) A、public ...

    Java帮帮
  • 设计模式:模板方法

    模板方法 使用基类定义整体步骤,即若干方法的调用过程,将一些可变的步骤由子类去重写。这样就可以利用多态在不改变操作的整体结构下定制一些特殊细节。 代码解释 可以...

    用户1172465
  • 6.下拉刷新

    六月的雨
  • 快应用开发教程【02】--项目配置教程

    每个应用都要有专属的名称,图标等,这些信息都需要在manifest.json文件中配置;详细信息请参考文档:manifest文件

    先知先觉

扫码关注云+社区

领取腾讯云代金券