集成Nacos配置中心及可能遇到的問題


集成

添加maven依賴

        <dependency>
            <groupId>com.alibaba.nacos</groupId>
            <artifactId>nacos-spring-context</artifactId>
            <version>1.1.0</version>
        </dependency>

nacos配置

nacos.server-addr=www.nacos.org:80
nacos.namespace=dev

java config

@Configuration
@EnableNacosConfig
@NacosPropertySource(dataId = "app_config.properties", autoRefreshed = true)
@Slf4j
public class NacosConfig {

    @NacosInjected
    ConfigService configService;

    @NacosConfigListener(dataId = "app_config.properties", type = ConfigType.PROPERTIES)
    public void listener(Properties properties) {

    }
}

注入配置的方式

1.@Value注解

nacos-spring-context對spring @Value提供了注入支持,啟動時會通過NacosPropertySourcePostProcessor把Properties加載入容器中,
但是這里有個坑,@Value默認不支持自動刷新,自動刷新需要spring-cloud的@RefreshScope配合

2.@NacosValue

支持單個配置刷新,主要實現類NacosValueAnnotationBeanPostProcessor,通過NacosConfigReceivedEvent事件觸發刷新

3.@NacosConfigurationProperties

支持把配置文件綁定到POJO上,支持自動刷新

4.@NacosConfigListener

對於復雜的場景可以使用Listener定制化修改邏輯


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM