分隔和层叠配置
配置项可按模块分成独立文件,按其优先级层叠后生效
多国语和多时区
自动配置及校对时区,静态及动态的多国语配置及转化
库及数据的版本管理
基于flywave工具,用git和sql管理表结构和数据变化
强类型的SqlMapping
快速实现业务目标,快速偿还技术债务,安全的面对重构
分布式ID及分表分库
高效的分布式ID及加密算法,按需按业务灵活分表分库策略
工程化Jackson配置
对数字,日期时间,时区等业务类型做了兼容约定及安全检查
Host继承和URL重载
无需反向代理rewrite,MVC实现URL继承和重载,按域换肤
分布式session和多种认证
基于Hazelcast的分布式Session,Cookie可加密,别名
Jvm及分布式的缓存、锁和对象
基于Cache2k和hazelcast实现的Jvm及分布式对象,锁和事件
防连击,防抖,防篡改
后端的请求防抖,服务防连击,编辑内容防篡改,验证码保护等
第三方登录,角色权限管理
集成Oauth登录,可按应用,功能,来源等细粒度的管理权限
开箱即用的功能,可插拔模块
开箱即用的功能,可插拔模块,devops脚本和手册,代码自动生成器
🥾 纹丝不忒
WingsBoot(代号神翼)=BKB+飞鞋+SpringBoot,若你也喜欢过Dota,你懂的。 我们主张防御式编程,May The
false
Be With You !
适合成长型团队在成长型业务中平稳的实现,技术过渡,团队拉扯和业务升级。 其核心价值是:①快速实现业务目标;②及时偿还技术债务;③安全重构程序和业务。 例如从单应用起,到分表分库,再到服务治理及云化等项目阶段,团队都能够,
- 快速的重构业务及其代码,安全的变更数据模型 - 强类型和防御式风格
- 用git和sql对数据表及表数据做好版本管理 - Flywave工具(非Flyway)
- 对线上数据变化的追溯,复盘,恢复 - 日志体系及跟踪策略
📦 技术体系
- 框架哲学和约定下的无入侵性增强 🌱 Apache2
- 主要业务语言,OpenJDK长期运行 ☕️ GPLv2+CE
- 辅助语音,做更好的Java Apache2
- 主要的强类型SqlMapping 🏅 Apache2
- 主要的业务数据库,推荐8.0.31 💡 GPLv2
- 单机数据库,以离线及断线业务 MPL2或EPL1
- 分布式缓存,消息,流等 Apache2
- 更工程化和紧凑的Cloud方案 Apache2
- 数据库的分表分片弹性伸缩方案 Apache2
🐵 无脑使用
直接作为parent使用,可通过OSS获得不定期发布的SNAPSHOT
版本。
<parent>
<groupId>pro.fessional</groupId>
<artifactId>wings</artifactId>
<version>${wings.version}</version>
</parent>
🦁 积极动手
建议动手搞定代码,避免低水平使用,无法发挥潜力实现初衷。
## ① 国内镜像,成功后进入项目目录
git clone --depth 1 https://github.com/\
trydofor/professional-wings.git
## ② 安装依赖,可跳过,支持java8编译
# asdf shell java temurin-8.0.412+8
git submodule update --remote --init
(cd observe/meepo && mvn package install)
(cd observe/mirana && mvn package install)
## ③ 安装wings,java-21
# asdf shell java temurin-21.0.3+9.0.LTS
mvn package install
🚀 Built on 2024-08-31 14ebccb0d5 Commit