導航:首頁 > 文件管理 > spring配置文件整合

spring配置文件整合

發布時間:2024-06-15 16:26:30

㈠ 微服務SpringCloudAlibaba配置匯總

在 pom.xml 中添加 spring-cloud-alibaba-dependencies 統一管理版本:

Nacos 致力於幫助您發現、配置和管理微服務。Nacos 提供了一組簡單易用的特性集,幫助您快速實現動態服務發現、服務配置、服務元數據及流量管理。

通過 @EnableDiscoveryClient 註解表明是一個 Nacos 客戶端,該註解是 Spring Cloud 提供的原生註解

註:server-addr為Nacos Server 網址

Sentinel 以流量為切入點,從流量控制、熔斷降級、系統負載保護等多個維度保護服務的穩定性。

Sentinel 以流量為切入點,從流量控制、熔斷降級、系統負載保護等多個維度保護服務的穩定性。

使用 Spring Cloud Alibaba Nacos Config,您可以在 Nacos Server 集中管理你 Spring Cloud 應用的外部屬性配置。

注意:Spring Boot 配置文件的載入順序,依次為 bootstrap.properties -> bootstrap.yml -> application.properties -> application.yml ,其中 bootstrap.properties 配置為最高優先順序

RocketMQ 是一款開源的分布式消息系統,基於高可用分布式集群技術,提供低延時的、高可靠的消息發布與訂閱服務。

配置 Output(Source.class) 的 Binding 信息並配合 @EnableBinding 註解使其生效

運行成功後即可在 RocketMQ 控制台的 消息 列表中選擇 test-topic 主題即可看到發送的消息

配置 Input(Sink.class) 的 Binding 信息並配合 @EnableBinding 註解使其生效

RPC框架分為提供方和消費方,提供方提供服務,消費方消費服務。這里採用nacos注冊中心和Dubbo框架配置。

㈡ Spring Boot如何整合Redis

Spring Boot是目前非常流行的java Web開發框架,Redis是非關系型資料庫的一種,以鍵值對的形式存儲。Spring對Redis的支持是通過Spring Data Redis來實現的,給我們提供了RedisTemplate和StringRedisTemplate兩種模板來操作數據。Spring Boot框架也提供了對Redis的支持,下面我們來講一下Spring Boot框架整合Redis的步驟。

工具/材料

IntelliJ IDEA

特別提示

在Spring Boot整合Redis前本機需安裝Redis,另外可以使用RedisDesktopManager這個Redis這個桌面管理工具查看Redis中的數據。

㈢ 6、CXF與spring的整合(WebService的整合)

web.xml

說明: 這里主要配置了 spring 的配置文件地址, spring 監聽器、 CXF 核心控制器。

applicationContext.xml

說明:

在 spring 的配置文件中使用 jaxws:endpoint 元素來暴露 WebService ,這里有兩種方式:

然後我們就可以將工程部署到 tomcat 中,在瀏覽器中使用
地址 http://localhost:8080/cxf_spring/myService 訪問我們的 WebService 工程。

MyClient.java

注意: myService 指定我們的服務名字(在 web.xml 中配置),而 fkjava 指定服務提供者的地址(在 applicationContext.xml 中配置)。同時這種集成不好,因為將地址寫死了,沒有使用 spring 的注入方式。
我們看 HelloWorldWs.java 這個服務類:

可以看到其中的實際業務處理類還是使用的手工方法進行實例化,沒有使用 spring 的注入方式。

在 spring 的配置文件中改變暴露 WebService 的方式:

說明: 加 # 號是為了讓伺服器知道這個名字不是一個類 ,而只是一個 id 。
然後改造 HelloWorldWs.java 服務類:

然後我們再次使用之前的地址進行訪問,發現效果還是一樣的。

在上面配置的基礎上進行添加,在 applicationContext.xml 中:

此時,和以前一樣我們需要在客戶端(工程 Call_CXFSpring )那邊加上攔截器,添加上用戶名和密碼的頭,然後對伺服器進行訪問。以此來進行驗證。客戶端中我們運行類:
MyClient.java

訪問服務端。

傳統的 SSH 項目中,一般在本地是有相關的數據的,但是有一種場景是我們需要調用別人的數據,但是別人的數據不可能讓我們進行修改等操作,那麼別人只會暴露一個 WebService ,而我們就需要去調用別人的 WebService 伺服器。我們在訪問別人時,只能得到 WSDL 文檔。此時我們的項目中就不需要業務邏輯組件了,直接去調用別人的 WebService 的一個代理即可。

首先我們拷貝上面的工程,改名為 cxf_springClient ,然後需要增加 struts2 的相關 jar 包:

將原有的一些包刪掉,留下許可權包 org.fkjava.cxf.ws.auth 。然後我們啟動工程 Auth_Server 提供遠程服務。在 web 工程中生成相應的包及程序

web.xml

說明: 這里我們不再需要 CXF 的 servlet 了,因為不需要業務類了,我們直接調用遠程業務即可。同時配置 struts2 的核心控制器。

applicationContext.xml

說明: 這里我們同樣不需要業務類了,但是需要配置遠程業務代理類( serviceClass )。同時注意:不要將埠設置為8080,會沖突。可以看到我們使用 serviceClass 將介面配置進去,而這里的 id 不能隨便寫,要和 action 中定義的介面名一致。由於遠程伺服器設置了許可權攔截,所以這里使用過濾器將用戶名和密碼設置到 wsdl 文檔的頭中。然後在這個類中我們需要使用 execute 方法去獲取相應的數據。

struts.xml

ListCatsAction .java

說明: 此時我們就可以使用地址 http://localhost:8080/cxf_springClient/listCats 進行訪問了,當然會報找不到 jsp 的錯誤。

content/listCats.jsp

說明: 此時訪問就可以看到

㈣ 浜屻乻pringboot閰嶇疆鏂囦歡

鍦ㄩ」鐩鐩褰曚笅鍒涘緩涓涓猚onfig鐨勬枃浠跺す錛屽苟鍦ㄤ腑鍒涘緩application.yaml閰嶇疆鏂囦歡錛岀洿鎺ュ湪欏圭洰鐩褰曚笅鍒涘緩application.yaml鏂囦歡銆傚湪resources鐩褰曚笅鍒涘緩config鏂囦歡澶癸紝騫跺壋寤洪厤緗鏂囦歡銆

SpringBoot瀹樻柟鎻愪緵浜嗕袱縐嶅父鐢ㄧ殑閰嶇疆鏂囦歡鏍煎紡錛屽垎鍒鏄痯roperties銆乊ML鏍煎紡銆傜浉姣斾簬properties鏉ヨ達紝YML鏇村姞騫磋交錛屽眰綰т篃鏄鏇村姞鍒嗘槑銆

棣栧厛錛屽湪SpringBoot涓錛屾湁涓ょ嶉厤緗鏂囦歡鐨勬柟寮忋備竴縐嶆槸application.properties錛屽彟涓縐峚pplication.yaml(鎴栬呮槸application.yml)銆

渚濊禆綆$悊錛歋pringBoot鏀鎸佽嚜鍔ㄩ厤緗鍜屼緷璧栫$悊錛岄渶瑕佹敞鎰忓煎叆鐨勪緷璧栨槸鍚︽g『錛屼互閬垮厤鍑虹幇鍐茬獊鎴栫増鏈涓嶅吋瀹圭瓑闂棰樸

榛樿ょ殑閰嶇疆鏂囦歡鏄痑pplication.properties銆

㈤ springboot配置文件總結

springboot 本身支持多種靈活的配置方式,為開發 springboot 程序帶來了很大的靈活性和擴展性,但是同時由於太靈活,經常會導致明明配置了相關屬性,卻沒有生效。
本文總結了 springboot 配置文件的原理以及多個配置文件生效的順序。

springboot 配置文件支持靈活的路徑,以及靈活的文件名,用一個變數表達式總結如下:

部分源碼如下:

當滿足上述變數表達式的配置文件有多個時,會有一個配置的優先順序。假設

上面每個條件組合起來,則最多有配置文件如下,且順序從上到下:

獲取屬性時,按從上到下的順序遍歷由上述文件生成的屬性資源對象 PropertySource ,如果遇到匹配的key直接返回。
總結一下:就是如果同一個key的屬性只出現一次,則直接取該值即可。如果同一個key的屬性出現多次,則取順序靠前的屬性資源對象。另外其中每個文件都是可選的。

需要注意的一點是:如果在同一個 location 下配置了多個文件名一樣的文件,則只會取一個,比如在 classpath:/ ,有如下兩個文件 application.yml :

則只會根據 classloader 的 classpath 列表,選取第一個出現的文件。因為 springboot 載入配置文件時最底層是使用的下面的方法:

這兩個方法只會獲取 classloader 類的 ucp 屬性裡面第一個匹配到的值。如果對 springboot 自身的機制不滿意,想獲取所有的classpath:/路徑下面的 applicaiton.yml 文件,可以使用下面的方法:

本文總結了 springboot 配置文件的原理以及多個配置文件生效的順序。如果存在增加了配置文件或者在配置文件裡面增加了屬性卻沒有生效,可以參考上面的 springboot 配置文件表達式和配置文件生效順序進行排查。

後面還會有一篇文章討論基於 springboot 配置原理如何實現自定義的配置讀取方式。

閱讀全文

與spring配置文件整合相關的資料

熱點內容
寶藏編程軟體哪個好 瀏覽:872
填好的文件找不到 瀏覽:593
片在線觀看免費觀看 瀏覽:914
電腦滿屏文件的圖片 瀏覽:903
最新網路ghost 瀏覽:608
pay支付用哪個app 瀏覽:963
小電影免費觀看 瀏覽:646
和同船愛歌尺度差不多的劇 瀏覽:119
免費看電影 瀏覽:803
剪映錄屏文件找不到 瀏覽:90
js比較時間 瀏覽:97
系統聲音文件下載 瀏覽:736
日本高清電視劇在哪裡看 瀏覽:18
win10保存的圖片文件夾怎麼取消 瀏覽:655
廣州市幸福網路技術有限公司網站 瀏覽:655
各行app的基金有什麼不一樣嗎 瀏覽:138
免費電影在線免費觀看 瀏覽:49
手機製作lrc文件 瀏覽:433
美國偷情電影 瀏覽:999
雙魚座做編程員是什麼樣的 瀏覽:718

友情鏈接