题记
最近好贱不贱,放着以前熟练使用 netty 实现RPC 和 Websocket不用,非得使用 Reactor Netty 去搞,本想着高级的封装NB,好撑门面,那想知,这玩意七绕八绕,连如何启动的都搞不明白,一堆 Mono, 完整不知道程序跑到哪里了, 得,彻底放弃,全部删除, 用原汁原味的 Netty 半天就捋得非常清晰。回调地狱没了,代码量更是缩到估计1/3不到!
Spring Boot 3.3
这两天(2024/05/29), Spring Boot 3.3 正式发布, 各种新功能也在道上被热议起来。
-
CDS 全称为:Class Data Sharing,即类数据共享,它是 JVM 的一项功能,它可以在多个 JVM 之间共享类,从而帮助减少 Java 应用程序的启动时间和内存占用。
-
Websockets 支持虚拟线程: 传说中的 “协程,一种成本低廉、轻量级的用户模式的线程实现。
-
....
JDK 版本也进一步提升到 22 兼容:
Spring Boot | JDK | Spring | Maven | Gradle |
---|---|---|---|---|
3.3.0 | 17 ~ 22 | 6.1.8+ | 3.6.3+ | 7.5+,8.x |
3.2.0 | 17 ~ 21 | 6.1.1+ | 3.6.3+ | 7.5+,8.x |
3.1.0 | 17 ~ 20 | 6.0.9+ | 3.6.3+ | 7.5+,8.x |
3.0.0 | 17 ~ 19 | 6.0.2+ | 3.5+ | 7.5+ |
2.7.12 | 8 ~ 20 | 5.3.27+ | 3.5+ | 6.8.x, 6.9.x, 7.x, 8.x |
滚动发布
一般企业开发, 版本的更新换代及其痛苦和缓慢,敢保证,现在java 企业级开发,很多还都在JDK 8版本;系统平台的升级迁移,往往没有“功劳”,而其及其有可能带来惩罚, 没有一次升级换代是一帆风顺的, 所以笔者以前公司,采用各种措施利诱威逼大家必须升级一些EOL(end of life)的依赖和服务。 美其名曰 Rolling Release → Rolling Stone:
滚石无苔,逆增上缘
在滚石中, 要不一起滚, 要不就被碾压致死!
话回来, 升级的框架和系统虽然可以获得一些新的好处或避开一些风险,终究补救不了设计和底层逻辑的匮乏。
再好的工具和思想只能作为辅佐,规避了很多犯错的可能,终究人才是最后那个不确定因素!
ApiHug
欢迎大家尝鲜小玩具
ApiHug 准则:
-
📐 设计先行: Design First
-
📑 协议驱动:Specification Driven
-
🗺️ 单一信任源: Single Source of Truth
-
❤️ 开发同理心: Development Empathy
ApiHug:
-
无服务: 一切尽在本地, 或者您的内部 Repository
-
无强依赖: 遵循行业最佳、最成熟实践、可插拔
-
无隐藏:一切尽公开透明
API 设计工具千万家,ApiHug才是真的爱大家
💝 不玩心跳、擦边,只有实打实的爱!
⛔ 不是更强的 postman、jmeter, xxxx!
🥳 ApiHug 提供API 设计到实现的新范式!
ApiHug 准则:
-
📐 设计先行: Design First
-
📑 协议驱动:Specification Driven
-
🗺️ 单一信任源: Single Source of Truth
-
❤️ 开发同理心: Development Empathy
ApiHug:
-
无服务: 一切尽在本地, 或者您的内部 Repository
-
无强依赖: 遵循行业最佳、最成熟实践、可插拔
-
无隐藏:一切尽公开透明
📐设计先行
通过统一的API 设计元语(DSL, domain specific language), 让API 设计更语言化(Describe);实现高度的一致化,和高复用。
📑协议驱动
OAS (OpenAPI specification), 是 ApiHug世界的 "金科玉律", 严格保证定义 ↔ 实现之间同构(isomorphism)态射。
🗺️单一信任源
实现 API 从:蓝图→施工→测试→落地,不走样, 不变形,不改味。极致沟通效率和极低信任成本。
❤️ 开发同理心
置身于多种角色,感同身受,在快和慢,现在和将来,个体和团队上综合平衡,极具同理心是ApiHug 人文基础,她不仅仅是一段代码,一个工具,一种方式。
We Build What We Love & Love What We Built
https://apihug.com/docs/start/what-is-apihug
开启愉快开发之旅:https://apihug.com/docs/start
00. 预安装
-
JDK 17+ OpenJDK or Oracle
-
Gradle 8+
-
IDEA 2022+
-
ApiHug - API design Copilot IDEA plugin 市场
01. 插件安装
-
File
-
Settings
-
Plugin
-
Search
ApiHug
-
Install & Restart
02. Project Wizard
ApiHug - API design Copilot 提供了一个非常友好的项目启动模板,按照步骤一路点下来就可以。
01- 开始ApiHug项目
-
File
-
New -> Project
-
ApiHug
02-项目设置
-
Project settings
-
package
-
name
-
description
-
SDK Settings
-
version
-
DB Vendor
-
Cache
-
Port
03-Spring 设置
标准Spring 配置和 starter.spring.io 一样:
-
选择类型
-
选择你需要的模块,比如:
Spring Web
最后 点击: Create -> Open Project 就可以打开项目啦!
04-开启项目
跟着IDEA的引导:
-
以
Gradle
方式加载项目, 如果没有检查通知Notification栏目,可能你隐藏了; -
两个模块
demo-app-proto
&demo-app
应该被gradle自动识别出来。
04.1-Wire
-
打开
README.md
>0. Build All
-
找到那段脚本贴到控制台上:
Terminal
-
回车
Enter
执行 -
检查模块
demo-app-proto
目录main > wire
里面内容和更新
04.2-Stub
-
打开
README.md
>2. Build Stub (Individual)
-
同理找到那段命令行,贴到控制台
Terminal
-
按回车
Enter
执行 -
检查模块
demo-app
目录main > stub
里内容和更新:
04.3-Boot
-
打开
README.md
>3. Run Application
-
找到对于命令,贴到
Terminal
-
回车
Enter
执行 -
检查命令行输出 Log
demo-app
----------------------------------------------------------
Application 'demo-app' is running! Access URLs:
Local http://localhost:18089/
External http://192.168.0.115:18089/
OAS http://192.168.0.115:18089/v3/api-docs
Actuator http://192.168.0.115:18089/management
Api-Errors http://192.168.0.115:18089/hope/meta/errors
Api-Dictionaries http://192.168.0.115:18089/hope/meta/dictionaries
Api-Authorities http://192.168.0.115:18089/hope/meta/authorities
Profile(s) dev
04.4-查看 OAS
-
从控制台命令行上找到对应的URL
-
在浏览器(Chrome)输出查看即可
ApiHug 工具栏
ApiHug 工具栏(Tool Window) 默认停靠在您的IDEA右侧栏, 当然您也可通过上面菜单调出 : ApiHug > ApiHug Designer :
🥳 恭喜! 开启您愉悦的开发之旅吧!