一、前提条件
1. 在开始开发前,请确保你已经参见 下载 Maven 下载安装了 Java 和 Maven。
2. 已创建 TSF 独占注册配置中心实例(TSE 北极星),操作步骤详细可参见 引擎管理。
二、1. 引入 spring cloud tencent 依赖
修改应用根目录下的 pom.xml,添加dependencyManagement:
<dependencyManagement> <dependencies> <!– Spring Cloud Tencent TSF Dependencies –> <dependency> <groupId>com.tencent.cloud</groupId> <artifactId>spring-cloud-tencent-dependencies</artifactId> <version>${revision}</version> <type>pom</type> <scope>import</scope> </dependency> <!– Spring Cloud Dependencies –> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>${spring.cloud.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
注意:springcloud tencent 和 springcloud 版本如下:
注意:<revision>2.0.0.0-2022.0.5-RC4</revision><spring.cloud.version>2022.0.5</spring.cloud.version>
三、2. 引入 spring cloud tencent tsf starter
<dependency> <groupId>com.tencent.cloud</groupId> <artifactId>spring-cloud-starter-tencent-all</artifactId></dependency>
四、步骤2:在代码中使用配置
用户可通过两种方式更新代码中的配置信息:使用配置类@ConfigurationProperties和@Value注解。
·@Value 比较适用于配置比较少的场景
·@ConfigurationProperties 则更适用于有较多配置的情况
1. 通过 @Value注入
@Value("${timeout:1000}")private int timeout;
2. 通过 @ConfigurationProperties注入
@Component@ConfigurationProperties(prefix = "teacher")@RefreshScope //如果使用反射模式,则不需要加这个注解public class Person { private String name; private int age; String getName() { return name; } void setName(String name) { this.name = name; } int getAge() { return age; } void setAge(int age) { this.age = age; } @Override public String toString() { return "User{" + "name='" + name + '\\'' + ", age=" + age + '}'; }}.
五、步骤3:TSF 控制台下发动态配置
用户可以通过 TSF 控制台来下发动态配置。
六、前提条件
·已经在 TSF 平台上部署了provider-demo和consumer-demo应用。
·部署 provider-demo 的部署组的日志配置项的日志路径中包含了/tsf-demo-logs/provider-demo/root.log,以确保打印的日志被采集后,可以通过控制台查看应用的日志。参见 日志配置项。
七、操作步骤
关于如何通过控制台创建及下发更新的配置,请参见 应用配置。
如果希望修改ProviderNameConfig类中的providerName的值,创建配置时,配置内容填写:
provider: config: name: testname123
将配置发布到已部署provider-demo的部署组上,检查打印的日志中是否 name 的值已更新。如果已更新,说明更新的配置生效。
provider-demo — provider config name: testname123