基础概念
-
官方文档(官网介绍较为详细,不再赘述)
SpringBoot集成
一.官网给予了基础的Quick Start,可参考学习入门 ,(win平台启动可以使用git客户端执行sh脚本)
$ sh ./demo.sh start Windows new JAVA_HOME is: /d/DevProgram/Java/jdk ==== starting service ==== Service logging file is ./service/apollo-service.log Started [1121] Waiting for config service startup...
看到Started [1121]即表示成功! 二.这里给出在springboot工程中如何使用的简单demo 1.首先参考Quick Start文档,搭建基础环境,包括 Apollo config应用和数据库等 2.新建springboot 工程,导入web依赖和Apollo client依赖
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.1.RELEASE</version> </parent> <groupId>com.ggq</groupId> <artifactId>springboot-apollo</artifactId> <version>1.0-SNAPSHOT</version> <dependencies> <!-- web功能起步依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- apollo 客户端依赖--> <dependency> <groupId>com.ctrip.framework.apollo</groupId> <artifactId>apollo-client</artifactId> <version>1.3.0</version> </dependency> </dependencies> </project>
2.主启动类
package com.ggq; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import com.ctrip.framework.apollo.spring.annotation.EnableApolloConfig; @SpringBootApplication @EnableApolloConfig //此处开启apollo配置 public class ApolloClientStart { public static void main(String[] args) { SpringApplication.run(ApolloClientStart.class,args); } }
3.构建基础配置文件,指定apollo配置中心地址和应用本身id等
server: port: 8081 app: id: springboot-apollo apollo: meta: http://127.0.0.1:8080 bootstrap: enabled: true eagerLoad: enabled: true
4.测试类
package com.ggq.controller; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class TestController { @Value( "${name}" ) private String name; @RequestMapping("/name") public String ReadName() { return "我的名字是:"+this.name; } }
访问http://localhost:8081/name,可以得到我的名字是:张三 ,重新在apollo中配置name值无需重启,再次请求 http://localhost:8081/name,可得到我的名字是:李四