首頁>技術>

springcloud config 相對Alibaba Nacos來說要麻煩很多。

Alibaba Nacos不僅可作為配置中心還可以作為服務註冊中心。

環境:springboot2.2.10+nacos1.3.2

一、安裝nacos

在如上地址下載相應版本的nacos。

下載後解壓,啟動:

啟動命令(standalone代表著單機模式執行,非叢集模式):

bin/startup.sh -m standalone

訪問:

預設埠是8848,預設的使用者名稱密碼都是nacos。

二、配置nacos

進入管理介面,先建立幾個不同的開發環境,開發,生產,測試:

建立不同環境的使用者,角色:

許可權控制=》使用者列表:

許可權控制=》角色管理:

許可權控制=》許可權管理:

配置管理=》配置列表:

這列表中列出了所有的環境。

退出當前nacos使用者切換到dev賬戶登入

在dev使用者下進入配置管理=》配置列表:

在這環境下,配置一個nacos-config-dev.properties

nacos-config-dev.properties內容如下:

這裡簡單配置一個mysql的資料庫連線資訊

到這裡nacos的配置就完成了,接下來看看專案中如何使用。

三、專案中使用nacos

pom.xml

<dependencies>		<dependency>			<groupId>org.springframework.boot</groupId>			<artifactId>spring-boot-starter-web</artifactId>		</dependency>		<dependency>			<groupId>org.springframework.boot</groupId>			<artifactId>spring-boot-starter-actuator</artifactId>		</dependency>		<dependency>			<groupId>com.alibaba.cloud</groupId>			<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>			<version>2.2.3.RELEASE</version>		</dependency>		<dependency>			<groupId>org.springframework.boot</groupId>			<artifactId>spring-boot-starter-data-jpa</artifactId>		</dependency>		<dependency>			<groupId>mysql</groupId>			<artifactId>mysql-connector-java</artifactId>		</dependency>	</dependencies>

src/main/resources 下新建bootstrap.yml

關於該bootstrap.yml配置檔案

application.yml是使用者級的資源配置項

bootstrap.yml是系統級的,優先順序更加高

SpringCloud會建立一個'Bootstrap Context',作為Spring應用的'Application Context'的父上下文.初始化的時候,'Bootstrap Context'負責從外部源載入配置屬性並解析配置.這兩個上下文共享一個從外部獲取的'Environment'.'Bootstrap'屬性有高優先順序,預設情況下,他們不會被本地配置覆蓋.'Bootsrap context'和'Application Context'有著不同的約定,所以新增了一個'bootstrap.yml'檔案,保證'Bootstrap Context'和'Application Context'配置的分離。

bootstrap.yml內容如下:

spring:  cloud:    nacos:      username: dev      password: 123123      config:        enabled: true        serverAddr: localhost:8848        fileExtension: properties #        group: study #這裡的組就是在配置中心新建的時候指定的組名稱        namespace: 3d857485-5f81-4f1b-9a7e-86586d05261f #這裡就是新建名稱空間的時候系統生成的唯一標識---spring:  application:    name: nacos-config  #注意這裡的名稱結合profiles.active就是配置中心中配置的命名方式。---spring:  profiles:    active:    - dev

application.yml配置檔案:

spring:  jpa:    properties:      hibernate:        dialect: org.hibernate.dialect.MySQL5InnoDBDialect  datasource:    driverClassName: ${jdbc.driver}    url: ${jdbc.url}    username: ${jdbc.username}    password: ${jdbc.password}    type: com.zaxxer.hikari.HikariDataSource    hikari:      minimumIdle: 10      maximumPoolSize: 200      autoCommit: true      idleTimeout: 30000      poolName: MasterDatabookHikariCP      maxLifetime: 1800000      connectionTimeout: 30000      connectionTestQuery: SELECT 1

這裡透過${xxx}表示式的方式來訪問已經定義好的屬性配置(這裡的這些${xxx}就是在配置中心中配置的內容,bootstrap.yml已經為我們載入好了)

測試:

@RestController@RequestMapping("config")public class ConfigController {        @Value("${jdbc.url}")    private String url;    @GetMapping(value = "/get")    public boolean get() {    	System.out.println(url) ;        return url;    }}

訪問後檢視控制檯:

這裡啟動服務時就已經打印出了相關的資訊,方法介面也輸出了在nacos中配置的資訊。

完畢!!!

16
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • linux系統安裝mysql5.7.21詳解