本文演示SpringBoot整合Disconf,并演示获取配置信息。
一、环境准备
    服务器端安装Disconf不再细述,可自行前往官网https://disconf.readthedocs.io/zh_CN/latest/install/index.html 查阅。需要说明的是,Disconf安装依赖Nginx、Tomcat、Zookeeper、Redis、MySQL。
    安装完成后,新建测试配置文件:
    
二、项目搭建
    新建一个SpringBoot项目,引入依赖:

<properties><java.version>1.8</java.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><swagger2.version>2.9.2</swagger2.version><disconf.version>2.6.36</disconf.version><maven.test.skip>true</maven.test.skip></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><!-- swagger2依赖--><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>${swagger2.version}</version></dependency><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>${swagger2.version}</version></dependency><!--disconf依赖--><dependency><groupId>com.baidu.disconf</groupId><artifactId>disconf-client</artifactId><version>${disconf.version}</version></dependency></dependencies>

三、配置文件
①application.yml配置项目端口号:

server:port: 8989

②添加xml配置spring-disconf.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"><bean id="disconfMgrBean" class="com.baidu.disconf.client.DisconfMgrBean" destroy-method="destroy"><property name="scanPackage" value="com.ldl.demo.disconf"/></bean><bean id="disconfMgrBeanSecond" class="com.baidu.disconf.client.DisconfMgrBeanSecond" init-method="init" destroy-method="destroy"/><bean id="configproperties_no_reloadable_disconf" class="com.baidu.disconf.client.addons.properties.ReloadablePropertiesFactoryBean"><property name="locations"><list><value>test.properties</value></list></property></bean>
</beans>

③disconf配置类disconf.properties:

enable.remote.conf=true
conf_server_host=******
version=1_0_0
app=disconf-demo
env=rd
disconf.enable_local_download_dir_in_class_path=true
disconf.user_define_download_dir=./config/disconf

④Swagger配置类

@Configuration
@EnableSwagger2
public class Swagger2Configure {/*** API及扫描配置* @return*/@Beanpublic Docket createRestApi() {return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select().apis(RequestHandlerSelectors.basePackage("com.ldl.demo.controller")).paths(PathSelectors.any()).build();}/*** 展示信息* @return*/private ApiInfo apiInfo() {return new ApiInfoBuilder().title("api文档").version("1.0").build();}
}

四、编码实现
    ①编写测试配置类:

@Service
@DisconfFile(filename = "test.properties")
public class TestConfig {private String name;public TestConfig() {}public TestConfig(String name) {this.name = name;}@DisconfFileItem(name = "name", associateField = "name")public String getName() {return name;}@Overridepublic String toString() {return "======>>>>>>"+name;}
}

②编写Controller类及测试请求方法:

@RestController
@RequestMapping("/")
public class TestController {@Autowiredprivate TestConfig testConfig;@GetMapping("getName")@ApiOperation("获取disocnf配置信息")public String getName(){return testConfig.toString();}}

③启动类

@SpringBootApplication
@ImportResource(locations = {"classpath:/spring-disconf.xml"})
public class DisconfDemoApplication {public static void main(String[] args) {SpringApplication.run(DisconfDemoApplication.class, args);}}

④启动项目并访问http://localhost:8989/swagger-ui.html:

测试获取配置属性OK!

SpringBoot整合Disconf相关推荐

  1. SpringBoot第九篇: springboot整合Redis

    这篇文章主要介绍springboot整合redis,至于没有接触过redis的同学可以看下这篇文章:5分钟带你入门Redis. 引入依赖: 在pom文件中添加redis依赖: <dependen ...

  2. es springboot 不设置id_原创 | 一篇解决Springboot 整合 Elasticsearch

    ElasticSearch 结合业务的场景,在目前的商品体系需要构建搜索服务,主要是为了提供用户更丰富的检索场景以及高速,实时及性能稳定的搜索服务. ElasticSearch是一个基于Lucene的 ...

  3. springboot整合shiro使用shiro-spring-boot-web-starter

    此文章仅仅说明在springboot整合shiro时的一些坑,并不是教程 增加依赖 <!-- 集成shiro依赖 --> <dependency><groupId> ...

  4. db2 springboot 整合_springboot的yml配置文件通过db2的方式整合mysql的教程

    springboot整合MySQL很简单,多数据源就master,slave就行了,但是在整合DB2就需要另起一行,以下是同一个yml文件 先配置MySQL,代码如下 spring: datasour ...

  5. 九、springboot整合rabbitMQ

    springboot整合rabbitMQ 简介 rabbitMQ是部署最广泛的开源消息代理. rabbitMQ轻量级,易于在内部和云中部署. 它支持多种消息传递协议. RabbitMQ可以部署在分布式 ...

  6. 八、springboot整合Spring Security

    springboot整合Spring Security 简介 Spring Security是一个功能强大且可高度自定义的身份验证和访问控制框架.它是保护基于Spring的应用程序的事实标准. Spr ...

  7. 六、springboot整合swagger

    六.springboot整合swagger 简介 swagger 提供最强大,最易用的工具,以充分利用OpenAPI规范. 官网 : https://swagger.io/ 准备工作 pom.xml ...

  8. SpringBoot整合mybatis、shiro、redis实现基于数据库的细粒度动态权限管理系统实例(转)...

    SpringBoot整合mybatis.shiro.redis实现基于数据库的细粒度动态权限管理系统实例 shiro 目录(?)[+] 前言 表结构 maven配置 配置Druid 配置mybatis ...

  9. SpringBoot整合RabbitMQ-整合演示

    本系列是学习SpringBoot整合RabbitMQ的练手,包含服务安装,RabbitMQ整合SpringBoot2.x,消息可靠性投递实现等三篇博客. 学习路径:https://www.imooc. ...

最新文章

  1. 求几亿个数中不重复元素的个数
  2. Silverlight 游戏开发小技巧:动感小菜单2
  3. ubuntu MNN编译安装
  4. 域控制器与客户机之:域账号不能登录问题排查
  5. java反射机制浅谈
  6. php如何获得文件数量,PHP:获取目录中文件数量的最有效方法
  7. php100教程源码,PHP100 视频教程 2012-2013版_PHP教程
  8. T-SQL Optimization Tips (3): SELECT COUNT(*)
  9. Python文件(一):文件类型、文件的打开,读取写入,关闭、文件备份、文件和文件夹的操作
  10. 5.产品的三种流程图,你都知道吗?
  11. ant 卓越幕墙工具箱和 那个好用_卓越幕墙工具箱
  12. 企业信息化建设的总体规划
  13. 基于PHP+Html+MySQL的网上手机商城系统
  14. 去湘菜馆,该不该来壶酸梅汁?
  15. 文件上传漏洞原理和利用
  16. CIPT备考心得分享-下一个考过的就是你
  17. vue项目无法在IE打开
  18. Python 基于tkinter和sqlite3的会员管理系统
  19. hive 以beeline的模式启动
  20. asio(二)、异步定时器

热门文章

  1. okcc呼叫中心系统对运维人员有什么要求?
  2. tensorflow linux多卡训练_用 Windows 电脑训练深度学习模型?超详细配置教程来了...
  3. 科目二如何能顺利通过?科目二经验
  4. 17. Nginx + keepalived 高可用
  5. 分析了b站敬汉卿的所有视频的弹幕,最多的弹幕居然是
  6. XHTML和HTML最显著的区别
  7. 终于搞定Linux的NAT即时生效问题
  8. 戴尔笔记本再次着火烧毁一辆卡车
  9. 微信域名防封之微信域名检测
  10. 大学生毕业要求计算机等级证书吗