Solon

概述

Solon,是一个轻量级的应用开发框架。更快、更小、更自由!

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

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

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!";
    }
}

主框架及快速集成开发包:

主框架
组件说明
org.noear:solon-parent框架版本管理
org.noear:solon主框架
org.noear:nami伴生框架(做为solon remoting 的客户端)
org.noear:solonhat文档框架
快速集成开发包及相互关系
组件说明
org.noear:solon-lib快速开发基础集成包
org.noear:solon-apisolon-lib + jlhttp boot;快速开发接口应用
org.noear:solon-websolon-api + freemarker + sessionstate;快速开发WEB应用
org.noear:solon-beetl-websolon-api + beetl + beetlsql + sessionstate;快速开发WEB应用
org.noear:solon-enjoy-websolon-api + enjoy + arp + sessionstate;快速开发WEB应用
org.noear:solon-rpcsolon-api + nami;快速开发RPC应用
org.noear:solon-cloudsolon-rpc + consul;快速开发微服务应用