跟着官网一步一步搭建
报错
1.报java环境问题
rem if not exist "%JAVA_HOME%\bin\java.exe" echo Please set the JAVA_HOME variable in your environment, We need java(x64)! jdk8 or later is better! & EXIT /B 1
rem set "JAVA=%JAVA_HOME%\bin\java.exe"
rem 手工指定java路径
set "JAVA=D:\javaSE1.8\jdk1.8\bin\java.exe"
2.启动失败
错误信息:
rg.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat
因为启动默认是集群模式
set MODE="cluster"
修改为下面单机模式
set MODE="standalone"
3.需要登录
地址:http://127.0.0.1:8848/nacos/index.html
默认用户名/密码 nacos/nacos
修改密码:
spirngboot集成
1.pom引入
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>nacos-config-spring-boot-starter</artifactId>
<!-- 注意:版本 0.2.x.RELEASE 对应的是 Spring Boot 2.x 版本,
版本 0.1.x.RELEASE 对应的是 Spring Boot 1.x 版本。 -->
<version>0.2.9</version>
</dependency>
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>nacos-discovery-spring-boot-starter</artifactId>
<version>0.2.9</version>
</dependency>
2.自动注册
spring.application.name=test123
#配置中心
nacos.config.server-addr=127.0.0.1:8848
#命名空间注册中心生成
nacos.config.namespace=8e4ff984-eaec-4ffe-a289-9b8a1395b7de
#自动注册
nacos.discovery.autoRegister=true
#命名空间注册中心生成
nacos.discovery.namespace=8e4ff984-eaec-4ffe-a289-9b8a1395b7de
nacos.discovery.server-addr=127.0.0.1:8848
效果图
3.配置
#配置中心
nacos.config.server-addr=127.0.0.1:8848
#命名空间注册中心生成
nacos.config.namespace=8e4ff984-eaec-4ffe-a289-9b8a1395b7de
注意事项
@NacosPropertySource(dataId = "test", autoRefreshed = true)
指定配置的dataId
如果没有配置nacos.config.namespace 默认是public
指定的时候就是指定的
@SpringBootApplication
@NacosPropertySource(dataId = "test", autoRefreshed = true)
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
@NacosValue(value = "${useLocalCache:false}", autoRefreshed = true)
private boolean useLocalCache;
@RequestMapping(value = "/test")
@ResponseBody
public boolean test() {
return useLocalCache;
}
4.消费
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>nacos-discovery-spring-boot-starter</artifactId>
<version>0.2.9</version>
</dependency>
@NacosInjected
private NamingService namingService;
@RequestMapping(value = "/consumer-test")
@ResponseBody
public String consumer() throws NacosException {
// 根据服务名从注册中心获取一个健康的服务实例
Instance instance = namingService.selectOneHealthyInstance("test123");
String url = String.format("http://%s:%d/nacos/test", instance.getIp(), instance.getPort());
String result = restTemplate.getForObject(url, String.class);
return result;
}