首页 > 其他分享 >Solon v2.0 大版本发布。提效率!降成本!

Solon v2.0 大版本发布。提效率!降成本!

时间:2023-02-04 12:12:45浏览次数:63  
标签:插件 solon .. 删除 v2.0 版本 Solon 替代

一个高效的 Java 应用开发框架:更快、更小、更简单。不是 Spring,没有 Servlet,也无关 JavaEE;新兴独立的开放生态。主框架仅 0.1 MB。

150来个生态插件,覆盖各种不同的应用开发场景:

相对于 Spring Boot 和 Spring Cloud 的项目:

  • 启动快 5 ~ 10 倍。 (更快)
  • qps 高 2~ 3 倍。 (更高)
  • 运行时内存节省 1/3 ~ 1/2。 (更少)
  • 打包可以缩小到 1/2 ~ 1/10;比如,300Mb 的变成了 23Mb。 (更小)
  • 同时支持 jdk8, jdk11, jdk17, jdk19

似曾相似的体验,入门更简单,迁移很方便:

@Controller
public class App {
    public static void main(String[] args) {
        Solon.start(App.class, args, app->{
            //手写模式
            app.get("/", ctx -> ctx.outputAsJson("{message:'Hello world!'}"))
        });
    }

    //注解模式
    @Get
    @Socket
    @Mapping("/hello")
    public String hello(String name) {
        return String.format("Hello %s!", name);
    }
}

入门探索视频(用户录制):

《bilibili - solon 入门探索》

本次更新:

  • 调整 solon//
    • 删降 Aop;由 Solon.context() 替代
    • 删除 Bean:attr,Component:attr
    • 删除 BeanLoadEndEvent,PluginLoadEndEvent;由 AppBeanLoadEndEvent,AppPluginLoadEndEvent 替代
    • 删除 Utils.parallel()...等几个弃用接口;由 RunUtil 替代
    • 删除 Solon.global();由 Solon.app() 替代
    • 删除 SolonApp::port();由 Solon.cfg().serverPort() 替代
    • 删除 SolonApp::enableSafeStop();由 Solon.cfg().enableSafeStop() 替代
    • 删作 AopContext::getProps();由 ::cfg() 替代
    • 删除 AopContext::getWrapAsyn();由 ::getWrapAsync() 替代
    • 删除 AopContext::subWrap();由 ::subWrapsOfType() 替代
    • 删除 AopContext::subBean();由 ::subBeansOfType() 替代
    • 删除 AopContext::getBeanAsyn();由::getBeanAsync() 替代
    • 删除 Solon.cfg().version();由 Solon.version() 替代
    • 删除 EventBus::pushAsyn();由 pushAsync() 替代
    • 删除 PrintUtil::debug(),::info() 等...;由 LogUtil 替代
    • 删除 @Mapping::before,after,index 属性;由 @Before,@After 或 RouterInterceptor 或 Solon.app().before(),after() 替代
    • 删除 "solon.profiles.active" 应用配置(只在某版临时出现过);由 "solon.env" 替代
    • 删除 "solon.extend.config" 应用配置(只在某版临时出现过);由 "solon.config" 替代
    • 删除 "solon.encoding.request" 应用配置(只在某版临时出现过);由 "server.request.encoding" 替代
    • 删除 "solon.encoding.response" 应用配置(只在某版临时出现过);由 "server.request.response" 替代
    • 调整 DownloadedFile,UploadedFile 字段改为私有;由属性替代
  • 调整 solon.i18n//
    • 删除 I18nBundle::toMap();由 ::toProp() 替代
  • 调整 solon.web.cors//
    • 删除 ..extend.cores 包;由 ..web.cors 包替代
  • 调整 solon.cloud//
    • 删除 Media::bodyAsByts()..;由 ::bodyAsBytes() 替代
  • 调整 solon.cloud.httputils//
    • 删除 cloud.HttpUtils::asShortHttp()..;由 ::timeout() 替代
  • 调整 solon.test//
    • 删除 test.HttpUtils::exec2()..;由 ::execAsCode()..替代
  • 调整 solon.boot//
    • 删除 SessionStateBase/cookie[SOLONID2]
  • 调整 mybatis-solon-plugin//
    • 删除 org.apache.ibatis.ext.solon.Db;由 ..solon.annotation.Db 替代
  • 调整 beetlsql-solon-plugin//
    • 删除 org.beetl.sql.ext.solon.Db;由 ..solon.annotation.Db 替代
  • 调整 sa-token-solon-plugin//
    • 删除 SaTokenPathFilter 类,由 SaTokenFilter 替代
    • 删除 SaTokenPathInterceptor 类,由 SaTokenInterceptor 替代
  • 删除插件 httputils-solon-cloud-plugin;由 solon.cloud.httputils 替代
  • 删除插件 solon.extend.stop;由 solon.web.stop 替代
  • 删除插件 solon.extend.async;由 solon.scheduling 替代
  • 删除插件 solon.schedule;由 solon.scheduling.simple 替代
  • 删除插件 solon.extend.retry
  • 删除插件 solon.extend.jsr330
  • 删除插件 solon.extend.jsr303
  • 删除插件 solon.logging.impl;由 solon.logging.simple 替代
  • 新增插件 powerjob-solon-plugin
  • 新增插件 powerjob-solon-cloud-plugin(支持 solon cloud job 标准)
  • 调整 solon.scheduling/JobManger 添加更多注册时检测
  • 调整 solon.banner/banner.txt 自定义默认机制
  • 调整 sa-token-solon-plugin/isPrint 处理机制
  • 调整 sa-token-solon-plugin 增加对 sso,oauth2 两模块的适配
  • 调整 nami 添加 ContentTypes 类,提供便利的 content-type 常量

进一步了解 Solon:

项目仓库:

标签:插件,solon,..,删除,v2.0,版本,Solon,替代
From: https://www.cnblogs.com/noear/p/17091248.html

相关文章

  • helm与k8s版本对应
     ......
  • 基于NOSTR协议的“公有制”版本的Twitter,去中心化社交软件Damus用后感,一个极端走向
    最近,一个幽灵,Web3的幽灵,在网络游荡,它叫Damus,这玩意诠释了什么叫做病毒式营销,滑稽的是,一个Web3产品却在Web2的产品链上疯狂传销,各方大佬纷纷为其背书,到底发生了什么?Damus的......
  • 修改Vercel构建时使用的Node版本
    VercelNode版本的说明官方参考:意思是设置了engines.node后,如果与项目的node版本不一致,则使用前者Definingthenodepropertyinsideenginesofapackage.json......
  • 查看Ubuntu版本, 查看CentOS版本
    查看Ubuntu版本,查看CentOS版本。可以统一使用命令cat/etc/os-release查看Ubuntu版本示例PRETTY_NAME="Ubuntu22.04.1LTS"NAME="Ubuntu"VERSION_ID="22.04"VERSI......
  • MeterSphere 版本管理(xpack)使用
    MeterSphere版本管理功能变更记录在MeterSpherev2.6.0版本中接口定义列表支持批量复制指定版本的CASE和Mock数据(X-Pack)在MeterSpherev2.5.0版本中新增了接口置新功能......
  • 项目版本管理方案. 项目版本管理要引起重视
    你->有么有如下经历:项目上线后发现功能缺失,或者不应该出现在该版本.项目紧急回滚手忙脚乱.耗时巨长甚至搞不定.查找历史版本难如登天.经常性出现因代码合并、漏......
  • Node 版本兼容性问题
    问题描述vue2启动项目时报错如下:>npmrunserveError:error:0308010C:digitalenveloperoutines::unsupportedatnewHash(node:internal/crypto/hash:71:19)......
  • vue版本2.9.6升级到高版本
    由于npminstall-gvue-cli安装的是老版本,如果想要安装新版本,可以先看一下自己是否已经安装了新版本vuecreateproj:可以看到我这边有两个版本了,如果想要安装新版本需要......
  • docker 安装kafka(单机版本)
    网上大多数是这个镜像zookeeper镜像dockerpullwurstmeister/zookeeperkafka镜像dockerpullwurstmeister/kafka  dockerrun-d-p2181:2181--namezookeepe......
  • Sonic版本更新
    sonic官网版本迁移指南升级前先备份Mysql数据库。直接前往 这里 下载最新版本zip,down集群后重新up即可。(部署文档含中国大陆加速镜像部署方式)jar方式部署的Agent......