新版本SpringBoot集成Nacos, ConfigService, NamingService等获取方式

在开发网关动态获取Nacos上配置的路由的时候, 网上很多参考的代码都是通过注入Nacos提供的NacosConfigProperties后, 使用该类获取configService添加监听器, 如下图代码所示:

旧版代码

但是出现个问题, 比较新的版本的Nacos包中已经没有NacosConfigProperties类了, 还有诸如使用@NacosInjected方式注入等都没有生效.
于是我在查阅了一些资料后集成成功, 在此记录一下代码.

开发环境

SpringBoot: 2.3.12.RELEASE
spring-cloud-alibaba-dependencies: 2.2.6.RELEASE

POM文件

<dependencies>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            <!--  去除Netflix Archaius多数据源相关的依赖 -->
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.cloud</groupId>
                    <artifactId>spring-cloud-netflix-archaius</artifactId>
                    <version>2.2.6.RELEASE</version>
                </exclusion>
                <exclusion>
                    <groupId>org.springframework.cloud</groupId>
                    <artifactId>spring-cloud-starter-netflix-archaius</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>

核心代码

 @Resource
 private NacosDiscoveryProperties nacosDiscoveryProperties;

 ConfigService configService = NacosFactory.createConfigService(nacosDiscoveryProperties.getNacosProperties());

目前获取类似configService, namingService都可以通过NacosFactory的静态方法来构建出来:

NacosFactory

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容