本章节内容是没有开启nacos校验方式进行接入
集成环境:
java版本:JDK17
springboot版本:3.0.2
创建spring项目,我这里用到的是spring-cloud全家桶
首先是jar包依赖:
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<spring-cloud-dependencies.version>2022.0.0</spring-cloud-dependencies.version>
<spring-boot-dependencies.version>3.0.2</spring-boot-dependencies.version>
<spring-cloud-alibaba.version>2022.0.0.0-RC2</spring-cloud-alibaba.version>
</properties>
<dependencyManagement>
<dependencies>
<!-- springCloud -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud-dependencies.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- springboot -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot-dependencies.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- springcloud-alibaba -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${spring-cloud-alibaba.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
具体jar包依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>
<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>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
jar包spring-cloud-starter-bootstrap必须添加,
在SpringBoot 2.4.x
的版本之后,对于bootstrap.properties
/bootstrap.yaml
配置文件(我们合起来成为Bootstrap
配置文件)的支持,需要导入该jar包
编辑配置文件,配置文件名称为bootstrap.yaml或bootstrap.yml,连接远程配置中心的配置文件都要为bootstrap命名,他的优先级高于application。
如果用application.yml自定义配置内容在配置中心,程序读取不到。
bootstrap.yml内容如下:
spring:
application:
name: data-harbor
main:
allow-bean-definition-overriding: true
profiles:
active: project
spring.cloud.nacos:
config:
server-addr: localhost:8848
file-extension: yml
group: KIRIN_GROUP
namespace: dd4c87d2-5e8d-41c6-ad7b-8f05fde1cd5
咱们的项目中先不添加application.properties文件
配置中心内容如下:
配置中心的文件名默认会找spring.application.name+文件类型file-extension
spring.application.name+文件类型file-extension的这个文件默认会被当做application文件
data-harbor.yml就会默认被当成这个项目的application配置文件
注意事项:
1、依赖是spring-cloud-starter-alibaba-nacos-config 2.2.1
2、远程配置中心Data Id命名和项目中spring.application.name+配置文件类型file-extension组成
3、项目配置文件名是bootstrap.yaml
4、引入配置内容类中要加@RefreshScope