#1、下载nacos server端
https://github.com/alibaba/nacos/releases
sh startup.sh -m standalone
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0modelVersion>
<groupId>com.examplegroupId>
<artifactId>demo-nacosartifactId>
<version>0.0.1-SNAPSHOTversion>
<name>demo-nacosname>
<packaging>pompackaging>
<description>demo-nacosdescription>
<parent>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-parentartifactId>
<version>2.3.2.RELEASEversion>
parent>
<properties>
<maven.compiler.source>8maven.compiler.source>
<maven.compiler.target>8maven.compiler.target>
<spring-cloud.version>Hoxton.SR9spring-cloud.version>
<spring-cloud-alibaba.version>2.2.6.RELEASEspring-cloud-alibaba.version>
properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloudgroupId>
<artifactId>spring-cloud-dependenciesartifactId>
<version>${spring-cloud.version}version>
<type>pomtype>
<scope>importscope>
dependency>
<dependency>
<groupId>com.alibaba.cloudgroupId>
<artifactId>spring-cloud-alibaba-dependenciesartifactId>
<version>${spring-cloud-alibaba.version}version>
<type>pomtype>
<scope>importscope>
dependency>
dependencies>
dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-webartifactId>
dependency>
<dependency>
<groupId>com.alibaba.cloudgroupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discoveryartifactId>
dependency>
<dependency>
<groupId>org.projectlombokgroupId>
<artifactId>lombokartifactId>
dependency>
dependencies>
project>
<parent>
<groupId>com.examplegroupId>
<artifactId>demo-nacosartifactId>
<version>0.0.1-SNAPSHOTversion>
parent>
# 服务名
spring.application.name=nacos-provider
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
server.port=7001
添加@EnableDiscoveryClient注解
@SpringBootApplication
@EnableDiscoveryClient
public class NacosProvider7001Application {
public static void main(String[] args) {
SpringApplication.run(NacosProvider7001Application.class, args);
}
}
@RestController
public class ProviderController {
@GetMapping("/login")
public String login(String name) {
return "欢迎您 " + name + " 这里是7001";
}
}
<parent>
<groupId>com.examplegroupId>
<artifactId>demo-nacosartifactId>
<version>0.0.1-SNAPSHOTversion>
parent>
# 服务名
spring.application.name=nacos-client-ribbon-8001
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
server.port=8001
添加@EnableDiscoveryClient注解
@SpringBootApplication
@EnableDiscoveryClient
public class NacosClientRibbon8001Application {
@Bean
@LoadBalanced
public RestTemplate getRestTemplate() {
return new RestTemplate();
}
public static void main(String[] args) {
SpringApplication.run(NacosClientRibbon8001Application.class, args);
}
}
@RestController
public class GetProviderController {
@Resource
RestTemplate restTemplate;
private static final String URL = "http://nacos-provider/";
@GetMapping("/login")
public String login(String name) {
return restTemplate.getForObject(URL + "login?name=" + name, String.class);
}
}
<properties>
<java.version>1.8java.version>
<project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8project.reporting.outputEncoding>
<spring-boot.version>2.3.7.RELEASEspring-boot.version>
properties>
<dependency>
<groupId>com.alibaba.cloudgroupId>
<artifactId>spring-cloud-starter-alibaba-nacos-configartifactId>
dependency>
注意配置文件最好先设置多环境,因为nacos的文件名命名规范为 applicationName-环境.文件后缀 比如【aaa-dev.properties】
如果不指定环境可能会有问题
spring.profiles.active=dev
application-dev.properties
spring.application.name=nacos-config
server.port=6001
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.cloud.nacos.config.file-extension=properties
@RestController
@RefreshScope//动态更新
public class DemoController {
@Value("${name}")
String name;
@GetMapping("getName")
public String getName() {
return name;
}
}
@SpringBootApplication
@EnableDiscoveryClient
public class NacosConfig6001Application {
public static void main(String[] args) {
SpringApplication.run(NacosConfig6001Application.class, args);
}
}
配置管理–》配置列表—》右上角加号-》
Data ID: nacos-config-dev.properties
文件类型选properties
配置内容:
name=test_nacos_config
- 1
点击发布启动并访问项目
http://localhost:6001/getName
dataid 和服务实例对应 格式固定【applicationName-环境.文件后缀】
namespace、group :可添加多个通过配置文件划分
spring.cloud.nacos.config.namespace=80986fb8-24c0-4d3d-b1ff-84da7fba4394 spring.cloud.nacos.config.group=dev
- 1
- 2