Spring Boot 轻量替代框架 Solon 1.3.18 发布
2021-04-03 20:20
766 查看
Solon 是一个微型的Java开发框架。项目从2018年启动以来,参考过大量前人作品;历时两年,4000多次的commit;内核保持0.1m的身材,超高的跑分,良好的使用体验。支持:RPC、REST API、MVC、WebSocket、Socket 等多种开发模式。
Solon 强调:克制 + 简洁 + 开放的原则;力求:更小、更快、更自由的体验。
替代?那有什么异同之处?
《Solon 特性简集,相较于 Springboot 有什么区别?》
所谓更小:
内核0.1m,最小开发单位0.2m(相比Dubbo、Springboot项目包,小到可以乎略不计)
所谓更快:
本机helloworld测试,Qps可达12万之多。可参考:《helloworld_wrk_test》
所谓更自由:(代码操控自由)
// 除了注解模式之外,还可以按需手动 // //手动获取配置(Props 为 Properties 增强版) Props db = Solon.cfg().getProp("db"); //手动获取容器里的Bean UserService userService = Aop.get(UserService.class); //手动监听http post请求 Solon.global().post("/user/update", x-> userService.updateById(x.paramMap())); //手动添加个RPC服务 Solon.global().add("/rpc/", HelloService.class, true); //手动获取一个RPC服务消费端 HelloService helloService = Nami.builder().create(HelloService.class);
本次版本主要变化:
1、增加 luffy-solon-plugin 组件,实现与动态语言混合执行能力
// // file: resources/luffy/hello.js // let name = ctx.param("name"); if(!name){ name = "world"; } return `Hello ${name}!`; // 浏览器打开: http://localhost:8080/hello.js // Java调用:CallUtil.callFile("/hello.js", null);
目前已适配的动态语言
- python
- ruby
- javascript
- groovy
- lua
- graaljs
2、Solon cloud 增加云端黑白名单接口 CloudListService
//手动应用 // if(CloudClient.list().inList("blacklist","ip","127.0.0.1")){ //提示 } //注解应用 @NotBlanklist @Mapping("demo1") public void demo1(){ //业务处理 } @Withelist @Mapping("demo2") public void demo2(){ //业务处理 }
3、增加 solon.logging 的异常格式化支持
@Slf4j public class DemoService{ public void demo(){ try{ //业务处理 }catch(Exception ex){ log.error("{}\r\n{}", "error:", ex); } } }
4、增加 solon.extend.sessionstate.jwt 组件通过 header 传输的支持
附:入门示例
相关文章推荐
- spring-boot-plus后台快速开发框架1.0.0.RELEASE发布了
- 谈谈 Idea编辑器和SpringBoot轻量框架 初级开发者如何让其启动和访问
- spring-boot-plus后台快速开发框架1.0.0.RELEASE发布了
- spring-boot-plus后台快速开发框架1.0.0.RELEASE发布了
- spring-boot-plus后台快速开发框架1.0.0.RELEASE发布了
- 使用springboot框架写项目打包jar发布后读取项目下静态文件异常
- 阿里P9告诉你 Spring Boot 2.0正式发布,升还是不升呢?
- 基于dubbo的分布式项目框架搭建 开发工具idea (springboot+dubbo+zookeeper+redis+rabbitmq+基于Swagger2的restful api) --(二)
- Spring Boot 项目发布到 Tomcat 服务器
- IDEA搭建Spring Boot框架再web页面进行输出!
- 初识Spring Boot框架
- 在Spring Boot框架下使用WebSocket实现聊天功能
- spring-boot集成redis实现消息发布订阅模式,以及多个订阅模式的实现
- SpringBoot框架中REST接口的异常处理方法
- SpringBoot框架整合MongoBb分页实例
- Spring Boot干货系列:(七)默认日志框架配置
- Spring Boot 2.0已发布,来聊聊它的新特性。
- 搞定SpringBoot2,我推荐你学习这个框架
- 使用 Spring Boot 快速构建 Spring 框架应用
- intellij下将springboot项目打成war包发布到远程tomcat服务器上