SpringBoot整合Apollo配置中⼼快速使⽤详解
⽬录
⼀、简介
⼆、使⽤
1.测试项⽬搭建
2.Apollo配置中⼼的配置
3.项⽬启动与测试
4.常见整合问题
附录
⼀、简介
1.Apollo 是什么?Apollo()是携程框架部门研发的分布式配置中⼼。服务端基于Spring Boot和Spring Cloud开发。
2.为什么要使⽤Apollo?
安全性:配置跟随源代码保存在代码库中,容易造成配置泄漏
时效性:普通⽅式配置,修改配置,需要重启服务才能⽣效
局限性:⽆法⽀持动态调整:例如⽇志开关、功能开关
⼆、使⽤
1. 测试项⽬搭建
注:本⽂主要介绍SpringBoot 整合 Apollo 实现动态配置
1.1 添加Maven依赖
<dependency>
<groupId&ip.framework.apollo</groupId>
<artifactId>apollo-client</artifactId>
<version>1.3.0</version>
</dependency>
1.2 配置⽂件
# apollo集成
# apollo 配置应⽤的 appid
app.id=springboot-apollo-demo1
# apollo meta-server地址,⼀般同config-server地址
#启⽤apollo配置开关
abled=true
apollo.abled=true
# apollo 使⽤配置的命名空间,多个以逗号分隔
apollo.bootstrap.namespaces = application
配置说明:
app.id:在配置中⼼配置的应⽤⾝份信息。
abled:在应⽤启动阶段是否向Spring容器注⼊被托管的properties⽂件配置信息。
apollo.abled:将Apollo配置加载提到初始化⽇志系统之前。
apollo.bootstrap.namespaces:配置的命名空间,多个逗号分隔,⼀个namespace相当于⼀个配置⽂件。
**a:**当前环境服务配置地址,⽣产环境建议⾄少双节点,可以填写多个逗号分隔,使⽤⼀个单独的域,如 (由nginx等软件负载平衡器⽀持),⽽不是多个IP地址,因为服务器可能会扩展或缩⼩。
图⽰说明:
1.3 添加启动类
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class, DataSourceTransactionManagerAutoConfiguration.class}) public class SpringbootApolloApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootApolloApplication.class, args);
}
}
1.4 添加配置开关类
基于@Value注解配置
@Component
public class ValueStyleProperty {
@Value("${apollo.value.demoKey1}")
private String demoKey1;
spring boot选择题@Value("${apollo.value.demoKey2}")
private String demoKey2;
//省略 get/set ⽅法
}
1.5 添加测试controller
/**
* value注解⽅式,获取属性
*
* @author mengqiang
*/
@RestController
@RequestMapping("/value-style")
public class ValuePropertyController {
@Autowired
private ValueStyleProperty keyProperty;
@Value("${server.port}")
private String port;
@Value("${apollo.bootstrap.namespaces:'application'}")
private String namespaces;
@GetMapping("/get")
public Map<String, Object> getProperty() {
Map<String, Object> map = new LinkedHashMap<>();
map.put("port", port);
map.put("namespaces", namespaces);
map.put("demoKey1", DemoKey1());
map.put("demoKey2", DemoKey2());
return map;
}
}
2. Apollo配置中⼼的配置
2.1 创建项⽬
2.2 填写配置信息
配置说明:
部门:选择应⽤所在的部门。(可⾃定义部门)
应⽤AppId:⽤来标识应⽤⾝份的唯⼀id,格式为string,需与application.properties中配置的app.id⼀致。
应⽤名称:应⽤名,仅⽤于界⾯展⽰。
应⽤负责⼈:选择的⼈默认会成为该项⽬的管理员,具备项⽬权限管理、集创建、Namespace创建等权限。项⽬配置主页截图
2.3 添加配置
2.3.1 表格形式单个添加注:不能批量操作
注:可实现批量操作
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论