<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Spring Boot on Text Matrix</title><link>https://txtmix.com/tags/spring-boot/</link><description>Recent content in Spring Boot on Text Matrix</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Tue, 21 Jul 2026 20:06:14 +0800</lastBuildDate><atom:link href="https://txtmix.com/tags/spring-boot/index.xml" rel="self" type="application/rss+xml"/><item><title>vbr.me App Store 价格查询：Spring Boot + Alpine.js + 13 地区汇率转换怎么搭</title><link>https://txtmix.com/posts/tech/vbr-me-app-store-price-tracker-2026/</link><pubDate>Sat, 11 Jul 2026 21:09:58 +0800</pubDate><guid>https://txtmix.com/posts/tech/vbr-me-app-store-price-tracker-2026/</guid><description>&lt;h1 id="vbrme-app-store-价格查询spring-boot--alpinejs--13-地区汇率转换怎么搭">vbr.me App Store 价格查询：Spring Boot + Alpine.js + 13 地区汇率转换怎么搭&lt;/h1>
&lt;h2 id="学习目标">学习目标&lt;/h2>
&lt;p>读完本文后，你应当能够：&lt;/p>
&lt;ul>
&lt;li>说出 app.vbr.me 这个 App Store 价格查询工具的完整架构（前端 + 后端 + 数据源 + 缓存 + 部署）&lt;/li>
&lt;li>解释为什么 GitHub 仓库 &lt;code>hypooo/app-store-price&lt;/code> 选择了 Java 21 + Spring Boot 4 而非 Python（FastAPI）或 Node（Express）&lt;/li>
&lt;li>拆解 &lt;code>AppService.java&lt;/code> 里的双重检查细粒度锁模式（按 appName + areaCode 锁，不是按 cache 全局锁）&lt;/li>
&lt;li>描述 &lt;code>#serialized-server-data&lt;/code> 是怎么成为 App Store 反爬的&amp;quot;金钥匙&amp;quot;的——它藏在每个 App Store 页面里&lt;/li>
&lt;li>画出 13 个 AreaEnum 地区定义的二维表（code/name/currency/locale），知道为什么内购文案需要按 locale 区分&lt;/li>
&lt;li>复述 Hutool TimedCache 的 TTL 设计 + 汇率 API 选 &lt;code>open.er-api.com&lt;/code> 而非 &lt;code>exchangerate-api.com&lt;/code> 的工程原因&lt;/li>
&lt;/ul>
&lt;h2 id="本文目录">本文目录&lt;/h2>
&lt;ol>
&lt;li>&lt;a href="#1-vbr-me-%e6%98%af%e4%bb%80%e4%b9%88" rel="">vbr.me 是什么&lt;/a>&lt;/li>
&lt;li>&lt;a href="#2-%e6%95%b4%e4%bd%93%e6%9e%b6%e6%9e%845-%e4%b8%aa%e5%b7%a5%e7%a8%8b%e5%86%b3%e7%ad%96" rel="">整体架构：5 个工程决策&lt;/a>&lt;/li>
&lt;li>&lt;a href="#3-%e5%89%8d%e7%ab%afalpinejs--tailwind-css-%e5%8d%95-component" rel="">前端：Alpine.js + Tailwind CSS 单 component&lt;/a>&lt;/li>
&lt;li>&lt;a href="#4-%e5%90%8e%e7%ab%afspring-boot-4--java-21--jsoup" rel="">后端：Spring Boot 4 + Java 21 + Jsoup&lt;/a>&lt;/li>
&lt;li>&lt;a href="#5-13-%e4%b8%aa%e5%9c%b0%e5%8c%baareaenum-%e8%ae%be%e8%ae%a1" rel="">13 个地区：AreaEnum 设计&lt;/a>&lt;/li>
&lt;li>&lt;a href="#6-%e6%95%b0%e6%8d%ae%e6%ba%90serialized-server-data-%e4%b8%8e-open-er-apicom" rel="">数据源：#serialized-server-data 与 open.er-api.com&lt;/a>&lt;/li>
&lt;li>&lt;a href="#7-%e7%bc%93%e5%ad%98%e7%ad%96%e7%95%a5hutool-timedcache--%e7%bb%86%e7%b2%92%e5%ba%a6%e9%94%81" rel="">缓存策略：Hutool TimedCache + 细粒度锁&lt;/a>&lt;/li>
&lt;li>&lt;a href="#8-%e9%83%a8%e7%bd%b2amazon-corretto-21-alpine--docker-compose" rel="">部署：Amazon Corretto 21-alpine + Docker Compose&lt;/a>&lt;/li>
&lt;li>&lt;a href="#9-%e5%af%b9%e7%8b%ac%e7%ab%8b%e7%88%ac%e8%99%ab%e9%a1%b9%e7%9b%ae%e4%bd%9c%e8%80%85%e7%9a%84-5-%e6%9d%a1%e5%b7%a5%e7%a8%8b%e7%bb%8f%e9%aa%8c" rel="">对独立爬虫项目作者的 5 条工程经验&lt;/a>&lt;/li>
&lt;li>&lt;a href="#10-%e5%85%b3%e9%94%ae%e8%b5%84%e6%ba%90%e4%b8%8e%e5%bb%b6%e4%bc%b8%e9%98%85%e8%af%bb" rel="">关键资源与延伸阅读&lt;/a>&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="1-vbrme-是什么">1. vbr.me 是什么&lt;/h2>
&lt;p>打开 &lt;a href="https://app.vbr.me" target="_blank" rel="noopener noreffer ">app.vbr.me&lt;/a>，第一眼看上去是一个清爽的单页应用：搜索框、国家选择器、对比表格。功能很直白——&lt;strong>搜索一个 iOS 应用，看它在 13 个国家/地区的定价、内购项目和人民币折算价&lt;/strong>。&lt;/p></description></item><item><title>Stirling-PDF 架构拆解:82k stars 的开源 PDF 平台,从单 Java 后端演化成 3 模块 Monorepo + Python AI Document Engine</title><link>https://txtmix.com/posts/tech/stirling-pdf-open-source-pdf-platform-architecture/</link><pubDate>Mon, 22 Jun 2026 20:59:00 +0800</pubDate><guid>https://txtmix.com/posts/tech/stirling-pdf-open-source-pdf-platform-architecture/</guid><description>&lt;h1 id="stirling-pdf-架构拆解82k-stars-的开源-pdf-平台从单-java-后端演化成-3-模块-monorepo--python-ai-document-engine">Stirling-PDF 架构拆解:82k stars 的开源 PDF 平台,从单 Java 后端演化成 3 模块 Monorepo + Python AI Document Engine&lt;/h1>
&lt;h2 id="核心判断">核心判断&lt;/h2>
&lt;p>&lt;code>Stirling-Tools/Stirling-PDF&lt;/code> 是 &lt;strong>GitHub 上 stars 最高的 PDF 工具集&lt;/strong>(82,443 stars / 7,215 forks,2026-06-22 数据),最早是 2023 年一个单 Java Spring Boot 应用,到现在已经演化成 &lt;strong>3 模块 Monorepo&lt;/strong>:&lt;/p></description></item></channel></rss>