本文介绍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,第二个红框说订阅了我们刚才新增的配置。好了,就到这里吧,享受你的探险之旅吧。加油,架构师们。
到此这篇关于springcloud集成nacos config的文章就介绍到这了,更多相关springcloud集成nacos config内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论