solon

简介: solon

人若是看透了自己,便不会再小看别人。——老舍《骆驼祥子》

分享一个很赞的web框架

Solon 是一个微型的 Java 开发框架。项目从 2018 年启动以来,参考过大量前人作品;历时两年,4000 多次的 commit;内核保持 0.1m 的身材,超高的跑分,良好的使用体验。支持:RPC、REST API、MVC、WebSocket、Socket 等多种开发模式。

Solon 强调:克制 + 简洁 + 开放的原则;力求:更小、更快、更自由的体验。

官网地址:https://solon.noear.org/

gitee:https://gitee.com/noear/solon

Solon 家簇成员图谱

上代码感受一下:

Hello World:

//Handler 模式:
public class App{
    public static void main(String[] args){
        SolonApp app = Solon.start(App.class,args);
        app.get("/",(c)->c.output("Hello world!"));
    }
}
//Controller 模式:(mvc or rest-api)
@Controller
public class App{
    public static void main(String[] args){
        Solon.start(App.class,args);
    }
    //限定 put 方法类型
    @Put
    @Mapping("/")
    public String hello(String name){
        return "Hello " + name;
    }
}
//Remoting 模式:(rpc)
@Mapping("/")
@Remoting
public class App implements HelloService{
    public static void main(String[] args){
        Solon.start(App.class,args);
    }
    @Override
    public String hello(){
        return "Hello world!";
    }
}

特点:

更现代感的应用开发框架。更快、更小、更少、更自由!

支持jdk8+;主框架0.1mb;组合不同的插件应对不同需求;方便定制;快速开发。

  • 克制、简洁、开放、生态
  • Http、WebSocket、Socket 三种信号统一的开发体验(俗称:三源合一)
  • 支持注解与手动两种模式,按需自由操控
  • Not Servlet,可以适配任何基础通讯框架(所以:最小0.2m运行rpc架构)
  • 自建 IOC & AOP容器,支持 Web、Data、Job、Remoting、Cloud 等任何开发场景
  • 集合 Handler + Context 和 Listener + Message 两种架构模式;强调插件式扩展;适应不同的应用场景
  • 插件可扩展可切换:启动插件,扩展插件,序列化插件,数据插件,会话状态插件,视图插件(可共存) 等…
  • 支持 GrallVm Native 打包
  • 体验与 Spring Boot 相近,迁移成本低: 《Solon 特性简集,相较于 Springboot 有什么区别?》


相关文章
|
2月前
|
XML 前端开发 决策智能
多智能体自主规划模式性能提升:五大精准策略详解
本文基于生产环境中的多智能体 React 模式实践,系统剖析了自主规划架构在工具调用延迟、上下文膨胀、中间态缺失、循环失控与监督缺位等方面的典型挑战。
378 19
|
12月前
|
前端开发 JavaScript API
React 搜索组件 Search Box
本文介绍了如何在 React 中实现一个搜索组件,从基础的输入框和按钮创建开始,逐步讲解样式美化、常见问题及易错点的解决方法,包括输入延迟、空值处理、错误处理和状态管理等,帮助开发者构建高效、可靠的搜索功能。
541 4
|
12月前
|
消息中间件 运维 数据库
Seata框架和其他分布式事务框架有什么区别
Seata框架和其他分布式事务框架有什么区别
237 1
|
JavaScript 关系型数据库 Java
IDEA插件-EasyCode
EasyCode是基于IntelliJ IDEA Ultimate版开发的一个代码生成插件,主要通过自定义模板(基于velocity)来生成各种你想要的代码。通常用于生成Entity、Dao、Service、Controller。如果你动手能力强还可以用于生成HTML、JS、PHP等代码。理论上来说只要是与数据有关的代码都是可以生成的。
738 0
IDEA插件-EasyCode
|
存储 关系型数据库 数据库
初探PostgreSQL体系结构
初探PostgreSQL体系结构
324 0
|
安全 Java 数据安全/隐私保护
Spring Boot中集成LDAP身份认证的步骤
Spring Boot中集成LDAP身份认证的步骤
|
SQL JSON DataX
离线数仓(六)【ODS 层开发】
离线数仓(六)【ODS 层开发】
|
SQL 数据采集 调度
用得好的数据才是资产,当数据资产遇上知识图谱(2)
用得好的数据才是资产,当数据资产遇上知识图谱
300 0
用得好的数据才是资产,当数据资产遇上知识图谱(2)
|
SQL Oracle 关系型数据库
MySQL单表千万级数据查询优化大家怎么说(评论有亮点)
单表千万级数据是MySQL查询的一个坎,可能还不是天花板。“一个人走的慢,一群人走的快”,通过讨论可以发现MySQL千万数据的全貌大概是怎样的。
487 0
给input框设置成选择日期,并且精确到时分秒
给input框设置成选择日期,并且精确到时分秒
764 1