SpringBoot集成Nacos

1、Nacos服务端下载

https://github.com/alibaba/nacos/releases
SpringBoot集成Nacos

2、进入bin目录,启动

SpringBoot集成Nacos

3、选取地址登录Nacos管理界面,默认账号密码为:nacos

SpringBoot集成Nacos
SpringBoot集成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、启动

SpringBoot集成Nacos

8、可能遇到的问题

SpringBoot集成Nacos
以上问题是:SpringBoot2.4以上版本与Nacos存在冲突,2.4以上版本没有ConfigurationBeanFactoryMetadata。请将SpringBoot版本降至2.4以下,如:2.3.9.RELEASE。

SpringBoot集成Nacos
以上可能是namespace的配置值与管理界面的命名空间不一致

SpringBoot集成Nacos
以上可能是缺少配置
discovery:
server-addr: 127.0.0.1:8848

上一篇:template might not exist or might not be accessible by any of the configured Template Resolvers 完美解决


下一篇:什么是上下文