【Nacos系列教程】Nacos第二篇:配置中心演示一
- Nacos
- 时间:2022-03-27 16:12
- 5497人已阅读
简介
Nacos系列教程之配置中心演示
🔔🔔🔔好消息!好消息!🔔🔔🔔
有需要的朋友👉:联系凯哥
在上一篇,我们讲解了,怎么在Windows系统中启动一个nacos。我们就使用这个nacos来作为配置中心
一:新增一个配置
步骤:配置列表->点击“+号”新增->
我们可以看到,在创建的时候,设置dataId\Group等,还要选择配置格式。
在配置格式中,我们可以看到很多我们熟悉的类型。这里我们就选择YAML类型的
演示数据:
dtatId:domain
group:DEFAULT_GROUP
配置格式:YAML
如下图:
这样,我们就配置好了。
二:spring boot继承Nacos
2.1:创建maven项目省略
2.2:maven添加:
<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> <!-- spring boot启动类的--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-autoconfigure</artifactId> </dependency> <!-- 解决没有激活profile的--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- nacos-config --> <dependency> <groupId>com.alibaba.boot</groupId> <artifactId>nacos-config-spring-boot-starter</artifactId> <version>0.2.7</version> </dependency> </dependencies>
2.3:配置文件添加nacos相关配置:
server.port=8011 spring.application.name=/springboot-nacos server.servlet.session.timeout= 10 #server.session.timeout=10 server.tomcat.uri-encoding=UTF-8 # nacos nacos.config.server-addr=127.0.0.1:8848
主要是nacos.config.server-addr地址
2.4:在启动类添加nacos的支持及添加对nacos监听加载方法
@NacosPropertySource(dataId = "domain", autoRefreshed = true, type = ConfigType.YAML)
说明:其中的dtatId就是刚才咱们配置的。设置自动刷新为true.设置文件类型为YAML
nacos监听方法:
/** * 监听Nacos加载 * * @param config */ @NacosConfigListener(dataId = "domain", type = ConfigType.YAML) public void onMessage(String config) { System.out.println(config); }
完整如下图:
扩展:
dataId也可以配置在配置文件中。如下:
nacos: config: server-addr: localhost:8848 data-id: IAM
2.5:编写测试类:
import com.alibaba.nacos.api.config.annotation.NacosValue; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import static org.springframework.web.bind.annotation.RequestMethod.GET; /** * @author kaigejava */ @Controller @RequestMapping("config") public class NacosConfigController { private boolean useLocalCache; @NacosValue(value = "${domain-url}", autoRefreshed = true) private String serverName; @NacosValue(value = "${useLocalCache}", autoRefreshed = true) public void setUseLocalCache(boolean useLocalCache) { this.useLocalCache = useLocalCache; } @RequestMapping(value = "/get", method = GET) @ResponseBody public boolean get() { return useLocalCache; } @RequestMapping(value = "/getString", method = GET) @ResponseBody public String getString(){ return serverName; } }
测试方法写完之后,启动项目进行访问:
我们可以看到,已经读取到配置文件里面的信息了。
需要注意:
使用的是
@NacosValue(value = "${domain-url}", autoRefreshed = true)
示例代码已提交:https://gitee.com/kaigejava/kaigejavastudy