springboot/spring整合nacos(dubbo的main方法启动项目)

项目配置nacos
零、下载nacos并启动,开放端口。确保可以使用网页版登录。
  1. 登录nacos网页配置

    http://localhost:8848/nacos/index.html

    账号 nacos 密码 nacos
    在这里插入图片描述

  2. 配置命名空间: 测试环境/线上环境(命名空间ID在代码配置文件中配置)

  3. 新增配置(新增dataId、分组等)

    在这里插入图片描述

  4. 项目配置

    在代码配置文件 application-production.properties/application-simulation.properties中添加属性

    nacos.config.server-addr=服务器地址
    nacos.config.namespace=命名空间ID
    nacos.config.data-id= =iot-smart-gateway.properties
    nacos.config.auto-refresh=true
    

    项目发布时 通过启动脚本中 添加参数-Dspring.profiles.active=$production()

    $production是服务器系统变量 可在服务器通过 echo $production 查看

    在META-INF/assembly/bin/start.sh 修改启动脚本

    JAVA_PROFILE=""
    if [ -n "$production" ]; then
            JAVA_PROFILE=" -Dspring.profiles.active=$production"
    fi
    

    在这里插入图片描述

一、gateway项目(使用springboot的mian方法启动)使用Nacos SpringBoot集成
  1. 引入依赖

    注意:版本 0.2.x.RELEASE 对应的是 Spring Boot 2.x 版本,版本 0.1.x.RELEASE 对应的是 Spring Boot 1.x 版本。多次试验发现iot项目适合使用0.1.7,其他版本会导致监听失效取不到配置。

    <!-- nacos配置 -->
    <dependency>
        <groupId>com.alibaba.boot</groupId>
        <artifactId>nacos-config-spring-boot-starter</artifactId>
        <version>0.1.7</version>
    </dependency>
    
  2. 项目配置

    IDEA中本地测试可以配置启动选项

    在这里插入图片描述

  3. 类配置 在需要配置的类上添加注解

    @NacosPropertySource(dataId = "${nacos.config.data-id}", autoRefreshed = true)
    public class YiTuCallBackController {}
    
  4. 属性配置 在需要配置的属性上添加注解

    @NacosValue(value = "${house-center-base.gateway.url:unknown}", autoRefreshed = true)
    private String useLocal;
    
  5. 直接引用属性即可。

     return RestResult.wrapSuccessResponse(useLocal);
    
二、service项目(使用dubbo的main方法启动)使用Nacos Spring集成
  1. 引入依赖

    <dependency>
        <groupId>com.alibaba.nacos</groupId>
        <artifactId>nacos-spring-context</artifactId>
        <version>0.3.6</version>
    </dependency>
    
  2. IDEA中本地测试可以配置环境变量spring.profiles.active=simulation
    在这里插入图片描述

  3. 新建配置类(dubbo启动的项目 不会主动加载resource下的配置文件 需要手动加载)

    @Configuration
    @PropertySource(value = "classpath:application-${spring.profiles.active}.properties")
    public class Config {
    
    }
    
  4. 新建nacos配置类

    @Configuration
    @EnableNacosConfig(globalProperties = @NacosProperties(serverAddr = "${nacos.config.server-addr}", namespace = "${nacos.config.namespace}"))
    @NacosPropertySource(dataId = "${nacos.config.data-id}", autoRefreshed = true)
    public class NacosConfiguration {
    
    }
    
  5. 属性配置。

    @NacosValue(value = "${house-center-base.gateway.url:unknown}", autoRefreshed = true)
    private String useLocal;
    
三、nacos配置使用(配置实时刷新 不需要重启服务)
  1. 页面配置

在这里插入图片描述

  1. 代码配置

    @NacosValue(value = "${house-center-base.gateway.url:unknown}", autoRefreshed = true)
    private String useLocal;
    
    @NacosValue(value = "${house-center-base.gateway.url:unknown}", autoRefreshed = true)
    private String useLocal;
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值