日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

近两年火热的微服务springboot不同配置文件详细讲解

發布時間:2025/3/20 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 近两年火热的微服务springboot不同配置文件详细讲解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

點擊上方“好好學java”,選擇“置頂公眾號”

優秀學習資源、干貨第一時間送達!

?精彩內容?

java實戰練習項目教程

2018微服務資源springboot、springcloud、docker、dubbo實戰等傾心分享

2018年java架構師全套學習教程

最新大數據培訓完整視頻教程

2018年java最新全套培訓學習教程

一、配置文件

SpringBoot使用一個全局的配置文件,配置文件名是固定的

  • application.properties

  • application.yml

配置文件的作用:修改SpringBoot自動配置的默認值;SpringBoot在底層都給我們自動配置好;

YAML(YAML Ain't Markup Language)

YAML是“YAML不是一種標記語言”的外語縮寫 [1] ?(見前方參考資料原文內容);但為了強調這種語言以數據做為中心,而不是以置標語言為重點,而用返璞詞重新命名。它是一種直觀的能夠被電腦識別的數據序列化格式,是一個可讀性高并且容易被人類閱讀,容易和腳本語言交互,用來表達資料序列的編程語言。

標記語言:

以前的配置文件;大多都使用的是 xxxx.xml文件;

YAML:以數據為中心,比json、xml等更適合做配置文件;

YAML:配置例子

server:port:?8080

如果是xml:

<server><port>8080</port> </server>

二、YAML語法介紹

1、基本語法

k:(空格)v表示一對鍵值對(空格必須有)

以空格的縮進來控制層級關系;只要是左對齊的一列數據,都是同一個層級的

server:port:?8080path:?/hello

屬性和值也是大小寫敏感;

2、值的寫法

字面量:普通的值(數字,字符串,布爾)

k: v:字面直接來寫;
字符串默認不用加上單引號或者雙引號;

"":雙引號不會轉義字符串里面的特殊字符;特殊字符會作為本身想表示的意思

name:?"sihai\n?lisi"

輸出: sihai換行 lisi

'':單引號會轉義特殊字符,特殊字符最終只是一個普通的字符串數據

name:?‘sihai\n?lisi’:輸出;sihai\n?lisi

對象、Map(屬性和值)(鍵值對)

k: v:在下一行來寫對象的屬性和值的關系;注意縮進
對象還是k: v的方式

user:name:?sihaiage:?20

行內寫法:

user:?{name:?sihai,?age:?18}

數組(List、Set)

- 值表示數組中的一個元素

pets: -?cat -?dog -?pig

行內寫法:

pets:?[cat,dog,pig]

三、配置文件值注入

配置文件

user:name:?sihaiage:?20lists:-?lisi-?zhangsanpig:name:?小豬age:?10

在javabean中的使用:

/** *?將配置文件中配置的每一個屬性的值,映射到這個組件中 *? *?@ConfigurationProperties:告訴SpringBoot將本類中的所有屬性和配置文件中相關的配置進行綁定; *? *?prefix?=?"person":配置文件中哪個下面的所有屬性進行一一映射 * *?只有這個組件是容器中的組件,才能容器提供的@ConfigurationProperties功能; * */ @Component @ConfigurationProperties(prefix?=?"user") public?class?User{private?String?name;private?int?age;private?List<Object>?lists;private?Pig?pig; }

另外,我們可以導入配置文件處理器,以后編寫配置就有提示了。

<!‐‐導入配置文件處理器,配置文件進行綁定就會有提示‐‐> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring‐boot‐configuration‐processor</artifactId><optional>true</optional> </dependency>
1、properties配置文件在idea中默認utf-8亂碼解決

2、@Value獲取值和@ConfigurationProperties獲取值比較
@ConfigurationProperties@Value
功能批量注入配置文件中的屬性
松散綁定(松散語法)支持
SpEL不支持
JSR303數據校驗支持
復雜類型封裝支持 不支持

到底如何在哪個場景使用這兩個獲取配置文件的值呢?

如果說,我們只是在某個業務邏輯中需要獲取一下配置文件中的某項值,使用@Value;
如果說,我們專門編寫了一個javaBean來和配置文件進行映射,我們就直接使用@ConfigurationProperties;

3、配置文件注入值數據校驗
@Component @ConfigurationProperties(prefix?=?"user") public?class?User{//使用value獲取一個值@Value("${user.name}")private?String?name;private?int?age;private?List<Object>?lists;private?Pig?pig; }
4、@PropertySource&@ImportResource&@Bean

@PropertySource:加載指定的配置文件

/** *?將配置文件中配置的每一個屬性的值,映射到這個組件中 *?@ConfigurationProperties:告訴SpringBoot將本類中的所有屬性和配置文件中相關的配置進行綁定; *?prefix?=?"person":配置文件中哪個下面的所有屬性進行一一映射 * *?只有這個組件是容器中的組件,才能容器提供的@ConfigurationProperties功能; *?@ConfigurationProperties(prefix?=?"person")默認從全局配置文件中獲取值; * */ @PropertySource(value?=?{"classpath:user.properties"}) @Component @ConfigurationProperties(prefix?=?"user") public?class?User{//使用value獲取一個值@Value("${user.name}")private?String?name;private?int?age;private?List<Object>?lists;private?Pig?pig; }

@ImportResource:導入Spring的配置文件,讓配置文件里面的內容生效

Spring Boot里面沒有Spring的配置文件,我們自己編寫的配置文件,也不能自動識別;
想讓Spring的配置文件生效,加載進來;@ImportResource標注在一個配置類上

//導入Spring的配置文件讓其生效 @ImportResource(locations?=?{"classpath:beans.xml"})

由于springboot推薦使用全注解的方式,所以我們可以使用全注解的方式來改造以前的bean 的配置方式

spring配置文件:

<?xml?version="1.0"?encoding="UTF‐8"?> <beans?xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema‐instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring‐beans.xsd"><bean?id="helloService"?class="com.sihai.springboot.service.HelloService"></bean> </beans>

springboot全注解方式:

1、配置類@Configuration對應Spring配置文件

2、使用@Bean給容器中添加組件

/** *?@Configuration:指明當前類是一個配置類;就是來替代之前的Spring配置文件 * *?在配置文件中用<bean><bean/>標簽添加組件 * */ @Configuration public?class?MyAppConfig?{//將方法的返回值添加到容器中;容器中這個組件默認的id就是方法名@Beanpublic?HelloService?helloService(){System.out.println("配置類@Bean給容器中添加組件了...");return?new?HelloService();} }

四、profile講解

1、多Profile文件

我們在主配置文件編寫的時候,文件名可以是 application-{profile}.properties/yml

默認使用application.properties的配置。

2、yml支持多文檔塊方式
server:port:?8080 spring:profiles:active:?prod ‐‐‐ server:port:?8083 spring:profiles:?dev ‐‐‐ server:port:?8084 spring:profiles:?prod?#指定屬于哪個環境
3、激活指定profile

有一下幾種方式:

1、在配置文件中指定

spring.profiles.active=dev

2、命令行:

java?-jar?spring-boot-02-config-0.0.1-SNAPSHOT.jar?--spring.profiles.active=dev

可以直接在測試的時候,配置傳入命令行參數

3、虛擬機參數;

-Dspring.profiles.active=dev


1.?java實現圖片文字識別

2.?springmvc入門

3.?servlet就是這么簡單

4.?重溫javaweb過濾器filter

附上熱門QQ群,存放資源和歷史資料,2000容量(低門檻付費群),長按二維碼入群

總結

以上是生活随笔為你收集整理的近两年火热的微服务springboot不同配置文件详细讲解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。