单体Springboot集成nacos 服务注册不上 配置不加载问题

一、运行环境

1.nacos版本2.1.0
2.springBoot版本 2.7.6
3.nacos-spring-boot-starter 0.2.12

这篇文件的目的 不是spring-cloud整合nacos 而是springboot单体应用整合nacos
spring-cloud整合nacos 按官方给的demo是没问题的

二、主要代码如下

1.maven依赖代码如下

       <!-- nacos配置文件依赖 -->
        <dependency>
            <groupId>com.alibaba.boot</groupId>
            <artifactId>nacos-config-spring-boot-starter</artifactId>
            <version>0.2.12</version>
        </dependency>

        <!-- nacos注册发现依赖 -->
        <dependency>
            <groupId>com.alibaba.boot</groupId>
            <artifactId>nacos-discovery-spring-boot-starter</artifactId>
            <version>0.2.12</version>
        </dependency>

2.配置文件代码如下

server:
  port: 8081
logging:
  level:
    root: info

spring:
  application:
    name: demo
## 
nacos:
  discovery:
    server-addr: localhost:8848
  config:
    server-addr: localhost:8848

3.Springboot启动类代码如下

import com.alibaba.nacos.api.annotation.NacosInjected;
import com.alibaba.nacos.api.exception.NacosException;
import com.alibaba.nacos.api.naming.NamingService;
import com.alibaba.nacos.spring.context.annotation.config.NacosPropertySource;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;

import javax.annotation.PostConstruct;
//排除DataSource
@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)
//dataId是nacos配置文件中心里面的文件名称 autoRefreshed代码是否是自动刷新
@NacosPropertySource(dataId = "demo.yaml", autoRefreshed = true)
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

	/**
	 * 下面的代码是项目启动时 主动去nacos里面进行服务注册
	 * 这里有个问题 就是我们上面已经在配置文件里面配置了
	 * 但是 服务就是没有在 nacos里面自动注册
	 * 我根据nacos官方给出的demo运行 也注册不上去
	 * 准确的问题 还要看一下代码 目前还没看 等看了 后续补下
	 */
    @Value("${spring.application.name}")
    private String serviceName;

    @NacosInjected
    private NamingService namingService;

    @PostConstruct
    public void registerInstance() throws NacosException {
        namingService.registerInstance(serviceName, "localhost", 8848);

    }
}

4.SpringBoot读取配置文件里面的内容代码

import com.alibaba.nacos.api.config.annotation.NacosConfigurationProperties;
import org.springframework.context.annotation.Configuration;


@Configuration
/**
 * 1.这里补充下 上面我们在 启动类里面 已经加上了 自动刷新的配置了 但是我在测试的时候 发现 一直无法刷新我们新加的配置 
 * 2.如果你的配置文件 想要实现自动刷新配置的话 必须使用 nacos那一套 获取属性的注解 比如
 *  @NacosConfigurationProperties
 *  @NacosValue()
 */
@NacosConfigurationProperties(dataId = "demo.yaml", prefix = "demo", autoRefreshed = true)
public class HelloConfig {


    private String name;

    private String desc;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }

    @Override
    public String toString() {
        return "HelloConfig{" +
                "name='" + name + '\'' +
                ", desc='" + desc + '\'' +
                '}';
    }
}

三、补充信息

待补充

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
SpringBoot可以通过集成Nacos来实现配置管理和服务发现的功能。 首先,通过集成Nacos配置管理功能,SpringBoot可以从Nacos中获取配置项的值。Nacos提供了动态配置的能力,可以在Nacos中添加多个配置集,每个配置集下可以有多个配置项。当Nacos中的配置项发生修改时,SpringBoot可以及时获取到最新的配置值。这样,在开发和部署过程中不需要重新打包部署,可以动态更新配置,提高了系统的灵活性和可维护性。你可以在中找到更多关于Spring BootNacos的新功能使用手册。 其次,通过集成Nacos服务发现功能,SpringBoot可以将自己注册Nacos服务器,并从Nacos中获取其他服务的信息。Nacos作为服务发现的中心,可以管理和监控所有注册在其上的服务实例。SpringBoot可以使用Nacos提供的服务发现功能,实现服务之间的调用和负载均衡。你可以在中找到关于Spring Boot集成Nacos服务发现的具体配置和使用方式。 要完成SpringBoot集成Nacos,你需要在Spring Boot项目的pom.xml文件中添加Nacos相关的依赖。例如,你可以在中找到Nacos配置依赖和中找到Nacos服务发现依赖。 总结起来,通过集成NacosSpringBoot可以实现配置管理和服务发现的功能,提高系统的灵活性和可维护性。你可以参考上述提供的链接和依赖来了解更多关于SpringBoot集成Nacos的详细信息。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

往日时光--

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值