SpringBoot中使用Apollo

1、使用示例

maven:



    com.ctrip.framework.apollo
    apollo-openapi
    1.1.0


    com.ctrip.framework.apollo
    apollo-client
    1.1.0

application.properties:

#apollo
app.id=10

几种配置Apollo的url的方式:

第一种:apollo-env.properties:

dev.meta=http://192.168.4.32:8080
fat.meta=http://192.168.4.32:8081
uat.meta=http://192.168.4.32:80800
pro.meta=http://172.31.103.238:18080

第一种方式:通过 C:\opt\settings\server.properties 文件指定 env=DEV 自动装配 dev.meta 的 url。
第二种方式:通过指定 jvm启动参数 -Denv=DEV 也可以达到上面效果,服务端则只需要 Java -Denv=DEV -jar xxx.jar

第二种:applicaition.properties

apollo.meta=http://config-service-url

第三种:通过 java 配置文件系统指定配置

启动类添加:System.setProperties("apollo.meta","configService-url");	
jvm 启动参数添加:-Dapollo.meta=http://config-service-url

配置注解解释:

@EnableApolloConfig({"application","tec.base"}):启动项目会在resource寻找Apollo的url配置文件。
@ApolloConfig("tec.base"):将Apollo服务端的中的配置注入这个类中。
@ApolloConfigChangeListener:监听配置中心配置的更新事件,若该事件发生,则调用refreshLoggingLevels方法,处理该事件。

配置类:

import com.ctrip.framework.apollo.model.ConfigChangeEvent;
import com.ctrip.framework.apollo.spring.annotation.ApolloConfig;
import com.ctrip.framework.apollo.spring.annotation.ApolloConfigChangeListener;
import com.ctrip.framework.apollo.Config;
import com.ctrip.framework.apollo.spring.annotation.EnableApolloConfig;
import org.springframework.stereotype.Component;

@Component
@EnableApolloConfig({"application","tec.base"})
public class ApolloApiConfig {

    @ApolloConfig("application")
    private Config config;
	
	@ApolloConfig("tec.base")
private Config configBase;

    @ApolloConfigChangeListener
    private void change(ConfigChangeEvent changeEvent) {
    }
}

使用配置项:

1.@Value( "${server.port}" )
2.config.getProperty("server.port", null);

你可能感兴趣的:(中间件,SpringBoot)