9-springCloud集成nacos config

本文介绍spring cloud集成nacos config的过程。

0、环境

  • jdk 1.8
  • maven 3.8.1
  • Idea 2021.1
  • nacos 2.0.3

1、项目结构

在这里插入图片描述
根项目nacos-config-sample下有两个module,这两个module分别是两个springboot项目,都从nacos中获取连接mysql的连接参数。我们开工。

2、添加nacos-config-sample依赖

	<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.4.2</version>
    </parent>

	<!--两个module,新增module时,idea会自动生成,手动加可以-->
	<modules>
        <module>service-a</module>
        <module>service-b</module>
    </modules>

	<properties>
		<nacos.config.version>2021.1</nacos.config.version>
        <spring.bootstrap.version>3.0.1</spring.bootstrap.version>
    </properties>
     
     <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
            <version>${nacos.config.version}</version>
        </dependency>

		<!--用于读取bootstrap文件-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bootstrap</artifactId>
            <version>${spring.bootstrap.version}</version>
        </dependency>

		<!--jpa-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

3、新增service-a

新增service-a,打卡pom.xml,看一下maven继承关系是否正取,代码如下:

	<parent>
        <artifactId>nacos-config-sample</artifactId>
        <groupId>com.jackie.nacos.config.sample</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>

如果继承关系没错,下来添加springboot启动类,代码如下:

@SpringBootApplication
public class ServiceaApplication {
    public static void main(String[] args) {
        ConfigurableApplicationContext context = SpringApplication.run(ServiceaApplication.class, args);
        String info = context.getEnvironment().getProperty("info");
        System.out.println(info);
    }
}

我在这里添加了测试代码。下面添加bootstrap.yml文件,内容如下:

spring:
  application:
    name: nacos-config-sample-service-a

  cloud:
    nacos:
      config:
        # nacos的连接地址
        server-addr: localhost:8848
		# nacos config的dataId,如果不配置,默认读取application.name
        prefix: example
        namespace: dev
        file-extension: yml

再添加application.yml,内容如下:

server:
  port: 9080

service-a搭建完成,要测试的话,大家可以先把根服务中的jpa依赖先注释掉,否则启动不起来。因为sping自动装配,会去找数据库连接池,再找mysql的连接信息。而此时我们还没配置呢。咱们放到最后再配置。

4、service-b搭建

sevice-b搭建过程与service-a基本类似,唯一不同的是,记得把服务端口改一下,其他保持一致即可。

#application.yml
server:
  port: 9081

5、nacos config配置

登录nacos,进入配置管理,新增配置。Data ID:example.yml,Group: DEFAULT_GROUP,类型选择yml,配置内容按如下内容输入:

disableCouponRequest:true
  
spring:
  datasource:
    username: root
    password: 123456
    url: jdbc:mysql://127.0.0.1:3306/my_coupon?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowPublicKeyRetrieval=true&zeroDateTimeBehavior=convertToNull&serverTimezone=UTC
    type: com.zaxxer.hikari.HikariDataSource
    driver-class-name: com.mysql.cj.jdbc.Driver

    hikari:
      pool-name: StrasCouponHikari
      connection-timeout: 5000
      idle-timeout: 30000
      maximum-pool-size: 10
      minimum-idle: 5
      max-lifetime: 60000
      auto-commit: true

保存即可。

6、测试

现在我们分别启动两个服务,并查看日志,如果正常连接了mysql,说明我们的配置成功了。当然前提是你必须有对应的数据库,并且用户名、密码正确。
在这里插入图片描述
第一个红框表示正常加载了jpa,第二个红框说订阅了我们刚才新增的配置。好了,就到这里吧,享受你的探险之旅吧。加油,架构师们。

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值