1.续 配置中心
上次课我们完成了cart模块的数据库配置信息添加到nacos的操作
我们也删除了cart模块原有的连接数据库信息的配置
下面开始,我们尝试连接nacos配置中心,读取数据库配置信息,令cart模块仍然能够正常连接数据库
1.1项目读取配置
csmall-cart-webapi模块要读取连接数据库的配置
如果要读取配置中心的信息,首先要添加依赖
<!-- Nacos配置中心的依赖 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<!-- 支持SpringCloud加载系统配置的依赖 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>
如果当前我们使用的SpringCloud版本不是2020.x
那么上面添加的依赖会有不一样的情况,要想去了解就要查阅相关资料
像其他程序一样,在添加完依赖之后,还需要添加yml文件的配置
借此机会讲解一下SpringCloud项目的配置文件加载顺序
我们学习过的配置文件大体有application.properties和application.yml两种配置文件添加配置
这两个文件如果同时存在,他们的配置都可以同时生效
但是如果两个文件配置有冲突(对同一个属性配置两次)
那么就要看加载顺序了
-
先加载application.yml
-
后加载application.properties
如果两个配置文件同时设置了同一个属性,后加载的覆盖掉先加载的
在添加上面的pom文件依赖之后,SpringCloud项目就又多了一组配置文件
它们是bootstrap.yml和bootstrap.properties
这组配置文件是SpringCloud项目才能使用的
它的作用是实际开发时,主要配置系统内容,一般都是不轻易修改的
所以这组配置文件的加载时机,整体早于application这一组
一个SpringCloud项目加载配置文件的顺序最终可能如下图
因为配置文件的特性,bootstrap这一组是加载系统配置的
所以我们读取配置中心的配置信息,最好添加在bootstrap.yml\properties中
下面我们就在cart-webapi项目中resources文件夹中添加bootstarp.yml文件
spring:
cloud:
nacos:
config:
# 指定配置中心的配置
server-addr: localhost:8848
# 命名空间模式就是public,可以省略
# 下面配置group
group: DEFAULT_GROUP
# SpringCloud项目,加载配置信息的规则
# 默认情况下,会自动读取配置中心里,如下格式的配置信息[服务名称].[后缀名称]
# 服务名称nacos-cart,后缀名下面配置的yaml
file-extension: yaml
# 所以最终读取public命名空间中,DEFAULT_GROUP组下的nacos-cart.yaml
如果一切顺利,那么cart模块是可以