笔者在工作中遇到如下问题,随着程序功能越多,配置文件不断增加,一些功能的开关、服务器地址、接口地址、不同环境的一些配置文件不同,这些在每次发布不同环境、更新项目时都比较繁琐,后来学习微服务时接触到了Spring Cloud Config配置中心,用了一段时间发现比之前方便不少,但是还是比较繁琐和麻烦,而且功能还达不到生产级,只能小规模场景下使用,在中大规模企业场景下不建议采用。后来了解到携程Apollo配置中心,Apollo支持完善的管理界面,支持多环境,配置变更实时生效,权限和配置审计等多种生产级功能,而且在携程到微服务架构体系中也运用了这个,在国内众多互联网公司也有落地案例,就开始去接触了解。最后结合工作和学习的一些经验分享给大家Apollo的入门使用和一些走过的坑,本篇文章主要介绍使用Spring Boot项目整合Apollo配置中心来管理发布配置文件。

简要步骤:

①、使用Apollo创建一个项目

②、新增项目配置文件

③、创建一个Spring Boot项目

④、修改配置文件、编写Java类

⑤、使用Apollo发布项目配置文件

⑥、启动本地项目查看从Apollo配置中心读取的文件

 

推荐博客:

Apollo架构体系、Apollo运行原理、Apollo配置中心简单介绍:https://blog.csdn.net/zjh_746140129/article/details/86179522

Linux下配置安装Apollo、Centons下配置安装Apollo:https://blog.csdn.net/zjh_746140129/article/details/86179601

Spring Boot项目整合Apollo配置中心:https://blog.csdn.net/zjh_746140129/article/details/86361168

Spring boot项目整合apollo错误:for env UNKNOWN from com.ctrip.framework.apollo.internals.DefaultMetaServer

 

详细步骤:

一、使用Apollo创建一个项目

1、登录打开Apollo

2、新建项目

 

二、新增项目配置文件 

1、点击文本,选择编辑

2、编辑完提交 

 

 

3、添加集群

注:这里只配置了DEV环境,这里的集群名称后面在项目配置中会用到。 

 

三、创建Spring Boot项目

注:这里用了之前的一篇boot整合jpa的案例,大家也可以自己新建一个,后面提供了核心实现代码

Spring Boot2.0系列教程之 JPA 和 Thymeleaf 实践(五):https://blog.csdn.net/zjh_746140129/article/details/81254965

github源码地址:https://github.com/zjh746140129/Spring-Boot2.0

pom文件新增

<dependency>
   <groupId>com.ctrip.framework.apollo</groupId>
   <artifactId>apollo-client</artifactId>
   <version>1.1.2</version>
</dependency>

 

四、修改配置文件、编写Java类

1、配置文件application.properties,这里app.id要和Apollo里面项目的appId一致

app.id=test-demo
apollo.bootstrap.enabled = true
apollo.meta=http://192.168.234.155:8080
spring.profiles.active=dev

2、配置文件配置文件application-dev.properties,这里的cluster=dev是Apollo中集群的名字

#apollo的配置
apollo.cluster=dev

 

2、编写Java类

package com.boot.config;

import com.ctrip.framework.apollo.spring.annotation.EnableApolloConfig;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;

/**
 * Created by zhoujh on 2019/1/9.
 */
@Configuration
@EnableApolloConfig
public class BootConfig {

    @Value("${CONFIG.PlatFormCode}")
    private String PlatFormCode;

    public String getPlatFormCode() {
        return PlatFormCode;
    }

    public void setPlatFormCode(String platFormCode) {
        PlatFormCode = platFormCode;
    }
}

在controller测试从Apollo配置中心获取

 

五、使用Apollo发布项目配置文件

1、点击发布

 

六、启动本地项目查看从Apollo配置中心读取的文件

1、修改项目启动设置

-Denv=DEV 
-Denv就是开发环境 DEV表示阿波罗里面的集群名称
linux服务器启动jar 也需要加一个这个,例如 java -Denv=DEV  -jar  abc.jar

 

2、启动项目查看控制台是否连接Apollo

 3、查看Apollo实例列表

注:只要应用连接上这里就会有,如果没有说明没有连接上Apollo

 

4、测试访问,说明已经读取到


5、添加配置文件Apollo再发布

6、再访问首页查看控制台

可以看到已经再次获取到了

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐