solon - 插件式微型 Web 框架


Apache
跨平台
Java

软件简介

solon for java

一个插件式微型Web框架。

支持jdk8,主框架80kb。组合不同的插件应对不同需求。

  • Handler + Context 架构
  • 支持:Http(Serverlet 或 非Serverlet),WebSocket,Socket
  • 支持:MVC,IOC,AOP…(不支持JSR330,但也更利于跨平台迁移)
  • 概念有:控制器,拦截器,触发器,渲染器;注解,插件
  • 插件扩展:启动插件,扩展插件,序列化插件,视图插件(可共存) 等…

Hello world:

//Handler 模式:
public class App{
    public static void main(String[] args){
        XApp app = XApp.start(App.class,args);

        app.get("/",(c)->c.output("Hello world!"));
    }
}

//Controller 模式:
@XController
public class App{
    public static void main(String[] args){
        XApp.start(App.class,args);
    }

    @XMapping("/")
    public Object home(XContext c){
        return "Hello world!";  
    }
}

主框架与插件:

主框架

组件 说明
org.noear:solon-parent 框架版本管理
org.noear:solon 主框架

快速集成包

组件 说明
org.noear:solon-mvc 可进行mvc开发的快速集成包
org.noear:solon-api 可进行api 或 rpc 开发的快速集成包

插件

boot插件 说明
org.noear:solon.boot.jdkhttp boot插件,对`JKD`自带的`HttpServer`适配,提供`http`服务(不自带session state)
org.noear:solon.boot.jlhttp boot插件,对`jlhttp`适配,提供`http`服务(不自带session state)
org.noear:solon.boot.nteeyhttp boot插件,对`Netty`适配,提供`http`服务
org.noear:solon.boot.jetty boot插件,对`jetty`适配,提供`http`服务(网友@khb提供)
org.noear:solon.boot.undertow boot插件,对`undertow`适配,提供`http`服务(网友@tyk提供)
org.noear:solon.boot.smarthttp boot插件,对`smart-http`适配,提供`http`服务(基于AIO实现)
org.noear:solon.boot.websocket boot插件,对`java-websocket`适配,提供`websocket`服务
org.noear:solon.extend.jetty.jsp 扩展插件,为`jetty`添加`jsp`支持(不建议使用jsp)(网友@khb提供)
org.noear:solon.extend.undertow.jsp 扩展插件,为`undertow`添加`jsp`支持(不建议使用jsp)(网友@tyk提供)







静态文件支持插件

说明

org.noear:solon.extend.staticfiles

扩展插件,添加静态文件支持(监视 resources/static 文件夹)








Yaml配置支持插件

说明

org.noear:solon.extend.properties.yaml

扩展插件,添加yml配置文件支持











Session插件

说明(可将boot插件的session state服务,自动换掉)

org.noear:solon.extend.sessionstate.local

扩展插件,本地session

org.noear:solon.extend.sessionstate.redis

扩展插件,分布式session(其于redis构建)














序列化插件

说明

org.noear:solon.serialization.fastjson

视图插件,对 fastjson 适配,输出json视图 或 序列化输出

org.noear:solon.serialization.snack3

视图插件,对 snack3 适配,输出json视图 或 序列化输出

org.noear:solon.serialization.jackson

视图插件,对 jackson 适配,输出json视图 或 序列化输出























视图插件

说明(可置多个视图插件)

org.noear:solon.view.freemarker

视图插件,对 freemarker 适配,输出html

org.noear:solon.view.jsp

视图插件,对 jsp 适配,输出html

org.noear:solon.view.velocity

视图插件,对 velocity 适配,输出html

org.noear:solon.view.thymeleaf

视图插件,对 thymeleaf 适配,输出html

org.noear:solon.view.beetl

视图插件,对 beetl 适配,输出html

org.noear:solon.view.enjoy

视图插件,对 enjoy 适配,输出html








rpc client

说明

org.noear:solonclient

solon rpc client 与solon 的 rpc service 配对








外部框架适配

说明

org.noear:cron4j-solon-plugin

cron4j 适配