A Bootiful Podcast: Spring 和 Java 社群傳奇人物 Marten Deinum

工程 | Josh Long | 2022 年 10 月 06 日 | ...

嗨,Spring 的朋友們!在這一集中,Josh Long (@starbuxman) 與長期 Spring 社群成員和傳奇人物 Marten Deinum (@mdeinum) 討論了水肺潛水、軟體、Spring、社群等等。

另外:我修復了前幾集中間奇怪的靜音!感謝大家與我一同忍受。我不知道出了什麼問題,但我現在知道如何修復它了

想在我們的生態系統中認識更多像 Marten 這樣令人驚嘆的人嗎? SpringOne 2022 即將到來!我覺得就像是那種令人焦慮、興奮的時刻,就像重要的節日前,你會收到禮物!隨之而來的是,Spring Boot…

Spring Cloud 2022.0.0-M5 現已推出

版本發布 | Spencer Gibb | 2022 年 10 月 06 日 | ...

我很高興代表社群宣布 Spring Cloud 2022.0.0 Release Train 的 Milestone 5 (M5) 今天已推出。該版本可在 Spring Milestone 儲存庫中找到。您可以查看 2022.0.0 版本說明以獲取更多資訊。

2022.00-M5 Release Train 中的重要變更

Spring Cloud Netflix

  • 已更新至 Eureka 2.0.0-rc.3。 Eureka 2.0.0 是 Eureka 的一個新分支,與 7 年前 舊的 2.x-archive 實驗無關。 新的 2.x 分支用於與 JakartaEE 相容。 這使 Spring Cloud Netflix 能夠與 Spring Framework 6.0 和 Spring Boot 3.0 相容。 這是 Spring Cloud Netflix 首次參與 2022.0 Release Train。
  • ...

Spring Batch 5.0.0-M7 現已推出!

版本發布 | Mahmoud Ben Hassine | 2022 年 10 月 05 日 | ...

我很高興代表團隊和所有貢獻者宣布 Spring Batch 5.0.0-M7 現已從我們的 milestone 儲存庫提供。

此里程碑的主要主題是改進 Spring Batch 中 job 參數的處理。 此版本中引入了兩個主要變更

  • 新增對使用任何類型作為 job 參數的支援
  • 改進 job 參數轉換

這篇部落格文章詳細介紹了這兩個主要變更。 如需完整的變更清單,請查看版本說明

新增對使用任何類型作為 job 參數的支援

在第 4 版之前,Spring Batch 僅支援 4 種可以用作 job 參數的類型,即longdoubleStringDate。 雖然這簡化了框架端的 job 參數處理,但事實證明這限制了使用者端。 例如,如果有人想使用 boolean

Spring Shell 2.1.2 和 3.0.0-M1 現已推出

版本發布 | Janne Valkealahti | 2022 年 10 月 05 日 | ...

我很高興代表團隊和所有貢獻者宣布 Spring Shell 2.1.23.0.0-M1 已發布,現在可以分別從 https://repo.spring.io/release、Maven Central 和 https://repo.spring.io/milestone 取得。

3.0.0-M1 是第一個基於 Spring Boot 3.x 构建並需要 JDK 17 的里程碑版本。

如需更多詳細資訊,請參閱版本說明 2.1.2版本說明 3.0.0-M1

感謝所有透過問題報告和提取請求做出貢獻的人。

您如何提供協助?

專案頁面 | GitHub | 問題 | 文件

本週的 Spring - 2022 年 10 月 4 日

工程 | Josh Long | 2022 年 10 月 04 日 | ...

嗨,Spring 的朋友們!歡迎收看新一期的本週的 Spring! 現在是 2022 年 10 月 4 日,我在德克薩斯州奧斯汀參加先前稱為 Kafka Summit 的新版本展示會,與大家談談 Spring Boot 和 Apache Kafka 的驚人機會。 12 日,我將前往比利時安特衛普參加精彩的 Devoxx 展示會。 10 月 17-20 日,我將在拉斯維加斯參加新版本的 JavaOne。 而且,嗯,還有更多,但我不能確切地說。 請繼續關注!

至於現在,我很興奮來到這裡! 我們本週有很多很棒的內容要介紹,所以讓我們直接開始吧…

A Bootiful Podcast:思想領袖 Chris Richardson(不,我並非諷刺地使用這個頭銜!)

工程 | Josh Long | 2022 年 9 月 29 日 | ...

嗨,Spring 的朋友們! 在這一集中,Josh Long (@starbuxman) 與他的朋友 Chris Richardson (@crichardson) 交談,Chris Richardson 幫助闡明和推進了雲端運算、反應式程式設計、微服務、領域驅動設計、事件溯源等等,早在時代精神之前。 此外,我們以前一起工作過!

想在我們的生態系統中認識更多像 Chris 這樣令人驚嘆的人嗎? SpringOne 2022 即將到來! 我覺得就像是那種令人焦慮、興奮的時刻,就像重要的節日前,你會收到禮物! 隨之而來的是 Spring Boot 3 和 Spring Framework 6。 我們將宣布…

刪除密碼:適用於 Spring Boot 應用程式到 Azure 服務的無密碼連線

工程 | Josh Long | 2022 年 9 月 27 日 | ...

使用使用者名稱/密碼憑證從一個應用程式存取另一個應用程式會帶來巨大的安全風險,原因有很多。 今天,我們宣布 Java 應用程式到 Azure 資料庫和事件服務的無密碼連線預覽版,讓您可以最終擺脫使用密碼的困擾。

密碼的安全性挑戰

使用密碼時應謹慎,開發人員絕不能將密碼放置在不安全的位置。 許多 Java 應用程式使用使用者名稱和密碼,或其他敏感憑證(例如存取權杖或連接字串) 連接到後端資料、快取、訊息傳遞和事件服務。 如果洩露,密碼可用於未經授權地存取敏感資訊,例如您為即將推出的活動建立的銷售目錄,或者只是必須保密的所有客戶資料。

將密碼嵌入應用程式本身會帶來巨大的安全風險,原因有很多,包括透過程式碼儲存庫發現(請參閱下圖 1)。 許多開發人員使用環境變數將這些密碼外部化,以便應用程式可以從不同的環境載入它們。 但是,這只會將風險從程式碼本身轉移到執行環境。 任何有權存取環境的人都可以竊取密碼,進而增加您的資料外洩風險。

圖 1 – 顯示 Java 程式碼,其中嵌入了使用者名稱和密碼以連接到資料庫

我們的客戶可以有嚴格的安全要求,即在不向開發人員、操作員或任何其他人公開密碼的情況下連接到 Azure 服務。 他們通常使用金鑰保存庫來儲存密碼並將其載入到應用程式中,並且他們透過新增密碼輪換要求和程序來進一步降低風險。 反過來,這增加了操作複雜性,並可能導致應用程式連線中斷。

無密碼連線 – 零信任

現在,您可以在應用程式中使用無密碼連線,以程式碼免費的設定連接到基於 Azure 的服務。 您不再需要輪換密碼。 零信任使用「永不信任,始終驗證和無憑證」的原則,透過在授予機器或使用者存取後端服務的權限之前驗證身份來幫助保護所有通訊的安全。

「我們擁有的每個密碼和每個 Key Vault 都是潛在的負債,這會增加更多的管理費用和成本。 我總是很高興看到更多的身份驗證和授權由我們處理,並作為簡單的整合運送到 Azure 上的 Java 和 Spring 生態系統中。 當我刪除我們的 Key Vault 時,我不會流淚,現在 PostgreSQL 支援無密碼連線。」
-Jonathan Jones,Lead Solutions Architect,Swiss Re Management Ltd。(瑞士)

使用受控識別和 Azure RBAC(基於角色的存取控制)組合是從 Java 應用程式安全、無密碼連線到 Azure 服務的建議身份驗證選項。 開發人員或操作員無需手動追蹤和管理受控識別的許多不同密碼,因為這些任務由 Azure 在內部安全地處理。

您可以使用 Service Connector 設定到 Azure 服務的無密碼連線(請參閱下圖 2),也可以手動設定它們。 Service Connector 在應用程式託管服務(如 Azure Spring Apps、App Service 和 Azure Container Apps)中啟用受控識別。 它使用受控識別和 Azure RBAC 配置具有無密碼連線的後端服務,並為應用程式提供必要的連線資訊 - 無需更多密碼。

圖 2 – Service Connector 為 Java 應用程式到 PostgreSQL 資料庫配置無密碼連線

如果您檢查針對無密碼連線設定的應用程式執行環境,您可以看到完整的連線字串。 例如,圖 3 顯示了如何攜帶資料庫伺服器位址、資料庫名稱以及將身份驗證委派給 Microsoft Azure JDBC 身份驗證外掛程式的指令。

圖 3 – 資料來源配置 “spring.datasource.url” 顯示無密碼連線

讓我們考慮一個連接到 PostgreSQL 資料庫的 Spring Boot 應用程式,該資料庫使用 Spring Cloud Azure starter。 該 starter 為 Spring Data JPA 模組組成一個沒有密碼的連線字串。 從連線字串中,驅動程式瞭解到它必須載入 Azure 的 JDBC 身份驗證外掛程式,該外掛程式使用 Azure Identity Client Library 來獲取存取權杖。 驅動程式使用權杖作為密碼登入資料庫 - 不再需要密碼。

對於本機開發和測試,開發人員可以使用相同的配置來連接到服務,而無需使用密碼。 您將通過 Azure CLI、IntelliJ 或任何開發工具進行身份驗證,並使用該身份來保護應用程式與 Azure 服務的安全連接,而無需密碼。

瞭解更多並刪除密碼!

您可以擺脫在應用程式中使用密碼的做法。 立即遷移現有的 Java 應用程式,以便為 Azure 服務使用無密碼連線!

閱讀更多關於無密碼連線的資訊 – https://aka.ms/Delete-Passwords

資源

<tbody>

<tr>
    <td>Azure Service</td>
    <td>Java Quickstart</td>
    <td>Spring Quickstart</td>
    <td>Migration Guide</td>
</tr>


<tr>
    <td> Azure Database for MySQL</td>
    <td>
    <a href="https://learn.microsoft.com/en-us/azure/mysql/single-server/connect-java?toc=%2Fazure%2Fdeveloper%2Fintro%2Ftoc.json&amp;bc=%2Fazure%2Fdeveloper%2Fintro%2Fbreadcrumb%2Ftoc.json&amp;tabs=passwordless">JDBC</a>
    </td>
    <td>
        <div><a href="https://learn.microsoft.com/en-us/azure/developer/java/spring-framework/configure-spring-data-jdbc-with-azure-mysql?tabs…

Spring 本週精選 - 2022 年 9 月 27 日

工程 | Josh Long | 2022 年 9 月 27 日 | ...

嗨,Spring 粉絲們! 歡迎來到又一期的 This Week in Spring

已經來到九月的最後一週了! 今年已經過了大半。 白晝漸短。 而南瓜風味拿鐵也上市了。 較黑暗和寒冷的日子有點令人沮喪,但我仍然對這個時節感到興奮和高興。 你知道為什麼嗎?

SpringOne 2022 就要來了! 我覺得這就像是在收到禮物的重要節日之前那種焦慮、興奮的時刻! 並且伴隨著 Spring Boot 3 和 Spring Framework 6。 我們將在 Spring 部落格上發布所有內容,當然,但如果您想有機會從源頭學習,那麼我希望您能在 2022 年 12 月 6 日至 8 日加入我們,就在我的家鄉舊金山,我最喜歡的美國西海岸城市,也是我的家鄉。 (偷偷告訴你:如果您現在註冊,可以使用此代碼 S1VM22_Advocate_200 從通行證價格中獲得 200 美元的折扣…

Spring Boot 3.0.0-M5 中的原生支援

工程 | Stéphane Nicoll | 2022 年 9 月 26 日 | ...

Spring 團隊一直在努力為 Spring 應用程式提供原生映像支援。 在 Spring Boot 2 中經過 3 年以上的 Spring Native 實驗專案孵化後,原生支援將隨著 Spring Framework 6 和 Spring Boot 3 轉為正式發布!

原生映像為 Java 應用程式提供近乎即時的啟動時間和減少的記憶體消耗。 最近的 Spring Boot 3.0.0-M5 版本標誌著我們第一次要求社群對我們的原生故事提供更廣泛的回饋。 如果您需要了解基礎知識,請參閱 3 月底的 Ahead Of Time 基礎部落格文章。 您也可以學習 如何為 Spring Boot 3.0 準備您的應用程式

我的 SpringOne 2022

工程 | Josh Long | 2022 年 9 月 23 日 | ...

我花了很長時間才欣賞和理解到軟體開發的魔鬼藏在細節中。 編寫快樂路徑業務邏輯並不是最困難的部分! 它是失敗案例、可觀察性、彈性和流程。 它是安全性和其他所謂的非功能需求。 它是為敏捷性而架構。 它是生產。 Spring 是獨一無二的,因為它位於許多令人興奮的應用程式開發討論的交匯點。

Spring 的社群包含多個方面,是其關鍵定義特徵之一。 這種討論的多樣性意味著任何試圖涵蓋所有想法的會議都會面臨挑戰。 我不知道還有其他任何節目 - 我一生中在數千個節目和活動中發言過! - 像 SpringOne 一樣完全涵蓋應用程式開發的不同層面…

獲取 Spring 新聞通訊

通過 Spring 新聞通訊保持聯繫

訂閱

領先一步

VMware 提供培訓和認證,以加速您的進度。

瞭解更多

獲得支援

Tanzu Spring 在一個簡單的訂閱中提供 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位檔案。

瞭解更多

即將舉行的活動

查看 Spring 社群中所有即將舉行的活動。

查看全部