1、Nacos服务端下载
https://github.com/alibaba/nacos/releases
2、进入bin目录,启动
3、选取地址登录Nacos管理界面,默认账号密码为:nacos
4、项目pom文件依赖引入
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>nacos-discovery-spring-boot-starter</artifactId>
<version>0.2.3</version>
</dependency>
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>nacos-config-spring-boot-starter</artifactId>
<version>0.2.3</version>
</dependency>
5、配置文件
**application.yml**
server:
port: 9090
spring:
application:
name: spot-sales-service
profiles:
active: test
**application-test.yml**
nacos:
config:
data-id: application-test.yml(Nacos管理界面的配置列表的Data Id)
type: yaml
bootstrap:
enable: true
auto-refresh: true
server-addr: 127.0.0.1:8848
namespace: public(对应管理界面的命名空间)
group: DEFAULT_GROUP(对应管理界面的组)
discovery:
server-addr: 127.0.0.1:8848
6、新增Nacos配置类
import com.alibaba.nacos.api.annotation.NacosInjected;
import com.alibaba.nacos.api.exception.NacosException;
import com.alibaba.nacos.api.naming.NamingService;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import javax.annotation.PostConstruct;
@Configuration
public class NacosConfig {
@Value("${server.port}")
private int serverPort;
@Value("${spring.application.name}")
private String applicationName;
@Value("${spring.datasource.username}")
private String username;
@NacosInjected
private NamingService namingService;
@PostConstruct
public void registerInstance() throws NacosException {
namingService.registerInstance(applicationName, "127.0.0.1", serverPort);
}
}
7、启动
8、可能遇到的问题
以上问题是:SpringBoot2.4以上版本与Nacos存在冲突,2.4以上版本没有ConfigurationBeanFactoryMetadata。请将SpringBoot版本降至2.4以下,如:2.3.9.RELEASE。
以上可能是namespace的配置值与管理界面的命名空间不一致
以上可能是缺少配置
discovery:
server-addr: 127.0.0.1:8848