您当前的位置: 首页 > 

java持续实践

暂无认证

  • 0浏览

    0关注

    746博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

谷粒商城14-nacos配置中心

java持续实践 发布时间:2020-08-01 19:29:57 ,浏览量:0

nacos配置中心 1)修改“gulimall-coupon”模块 在common模块中 添加pom依赖:


    com.alibaba.cloud
    spring-cloud-starter-alibaba-nacos-config

创建bootstrap.properties文件,该配置文件会优先于“application.yml”加载。

spring.application.name=gulimall-coupon
spring.cloud.nacos.config.server-addr=127.0.0.1:8848

传统方式配置方式

为了详细说明config的使用方法,先来看原始的方式 创建“application.properties”配置文件,添加如下配置内容:

coupon.user.name="zhangsan"
coupon.user.age=30

修改“com.bigdata.gulimall.coupon.controller.CouponController”文件,添加如下内容:

    @Value("${coupon.user.name}")
    private String name;
    @Value("${coupon.user.age}")
    private Integer age;

    @RequestMapping("/test")
    public R getConfigInfo(){
       return R.ok().put("name",name).put("age",age);
    }

启动“gulimall-coupon”服务:

访问:http://localhost:7000/coupon/coupon/test>

这样做存在的一个问题,如果频繁的修改application.properties,在需要频繁重新打包部署。下面我们将采用Nacos的配置中心来解决这个问题。

nacos config 在项目启动的时候, 有打印如下的日志 该日志说的是会从gulimall-coupon.properties 中获取配置, 默认的是应用名称的properties的文件. 在nacos的配置中心中, 根据该名称新建配置 1、在Nacos注册中心中,点击“配置列表”,添加配置规则: DataID:gulimall-coupon 配置格式:properties

文件的命名规则为: s p r i n g . a p p l i c a t i o n . n a m e − {spring.application.name}- spring.application.name−{spring.profiles.active}.${spring.cloud.nacos.config.file-extension} ${spring.application.name}:为微服务名 ${spring.profiles.active}:指明是哪种环境下的配置,如dev、test或info ${spring.cloud.nacos.config.file-extension}:配置文件的扩展名,可以为properties、yml等

2、查看配置: 3、修改“com.bigdata.gulimall.coupon.controller.CouponController”类,添加“@RefreshScope”注解


@RestController
@RequestMapping("coupon/coupon")
@RefreshScope
public class CouponController {

这样都会动态的从配置中心读取配置. 4、访问:http://localhost:7000/coupon/coupon/test

能够看到读取到了nacos 中的最新的配置信息,并且在指明了相同的配置信息时,配置中心中设置的值优先于本地配置。

总结配置中心的使用方法

1.引入配置中心的依赖 nacos-config 2.创建一个boostrap.propertis

	在这个propertis中指定应用的名称,  nocas的地址

3.在nacos的配置列表中,新建立一个配置, 新建立配置的默认名称为 应用名称.properties 4.根据需求添加需要的配置

5.在代码中设置动态获取配置

		a.在获取配置的类上加上@RefreshScope注解,代表动态获取并刷新配置
		b.@Value("${配置的名称}") 获取对应的配置
		c.配置中心中设置的值优先于本地配置。
关注
打赏
1658054974
查看更多评论
立即登录/注册

微信扫码登录

0.0387s