基于Spring的全家桶,當前比較流行的基于Spring Cloud的分布式微服務(wù)架構(gòu),但是根據(jù)查閱資料并理解,Spring Cloud應(yīng)該是用于分布式部署的一個架構(gòu),我們各種業(yè)務(wù)實現(xiàn)還是要借助Spring Boot,所有項目中是需要Spring Boot和Spring Cloud,在此記錄一下本地可以正常啟動的pom配置信息。
Spring Boot parent配置
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.6.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
再加Spring Cloud
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Hoxton.SR9</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
dependencyManagement和另外的dependencies是區(qū)分開來的,即pom文件中會有如下的格式
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>2.1.2.RELEASE</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.4</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Hoxton.SR9</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
配置文件bootstrap.yml如下:
spring:
profiles:
active: dev
配置文件bootstrap-dev.yml如下(使用nacos作為配置文件):
spring:
main:
allow-bean-definition-overriding: true
application:
name: spring-cloud-demo
cloud:
nacos:
config:
enabled: true
file-extension: yml
server-addr: localhost:8848
refresh-enabled: true
group: demo
namespace: demo
logging:
level:
com:
alibaba:
nacos:
client:
naming: error
注意:
1、在nacos需要創(chuàng)建命名空間為:demo,創(chuàng)建配置文件spring-cloud-demo-dev.yml,分組為demo。在配置文件中配置數(shù)據(jù)庫連接。(nacos搭建可以參考官網(wǎng)文檔:https://nacos.io/zh-cn/index.html)
2、Spring Boot和Spring Cloud版本需要使用對應(yīng)的,如果使用的其他的版本的,需要注意版本兼容問題。版本對應(yīng)信息訪問Spring官網(wǎng)查看(https://spring.io/projects/spring-cloud#overview),也可以參考下圖(2021年3月8日)。

image.png
以上說明是本地測試可以正常通過nacos讀取配置信息啟動。