插件式微型 Web 框架 solon

Apache
Java
跨平台
2019-12-27
刘之西东

【年终提升】2019尾声,来 OSC·年终盛典收割技术干货,get新技能!>>>

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 适配
的码云指数为
超过 的项目
加载中

评论(0)

暂无评论

暂无资讯

暂无问答

使用 cron4j-solon-plugin 开发定时任务

使用 cron4j-solon-plugin 开发定时任务 (一)新建一个 maven 空项目 (二)添加 maven 引用 <dependency> <groupId>org.noear</groupId> <artifactId>cron4j-solon-plugin</artifactId> <...

2019/12/26 17:15
9
0
基于AIO架构smarthttp开发的完整MVC框架

写了篇《基于jdk自带httpserver开发的最小完整MVC框架》,就再写篇AIO的MVC DEMO启动时间:0.1s(应该算少的吧?) smart-http 是一款比较简易的 http服务器,其通信内核采用了smart-socket最...

2019/12/26 21:43
22
1
Solon:Hello world!

Solon:Hello world! (一)新建一个 maven 空项目 (二)添加 maven 引用 <dependency> <groupId>org.noear</groupId> <artifactId>solon.boot.jlhttp</artifactId> <version>1.0.4</versi...

2019/12/26 17:32
5
0
基于jdk自带httpserver开发的最小完整MVC框架

410kb级的完整MVC:solon(83k) + jdkhttp(27k) + enjoy(227k) + snack3(73k) DEMO启动时间:0.1s solon 是一个插件框架,提供MVC,IOC,AOP,注解,插件机制。 jdkhttp 基于jdk8自带com.sun.net...

2019/12/26 18:26
7
0
weed3-2.1.开始纯java使用

Weed3 一个微型ORM框架(只有0.1Mb哦) 源码:https://github.com/noear/weed3 源码:https://gitee.com/noear/weed3 纯java使用时,有三大接口可用:db.table(..), db.call(..), db.sql()。...

2019/10/24 10:32
13
0
Weed3 for java 新的微型ORM框架

Weed3,微型ORM框架(支持:java sql,xml sql,annotation sql;template sql;事务;缓存;监听;等...) 05年时开发了第一代; 08年时开发了第二代,那时候进入互联网公司,对性能有了全新...

2019/12/18 11:34
80
0
Autodesk Revit 2016 官方简体中文版

Autodesk Revit 2016是欧特克旗下的一款三维建筑信息模型建模软件,这款软件包括了用来进行建筑设计、MEP 和结构工程以及施工的功能。

2016/07/21 10:52
200
0
一个新的微型ORM开源框架

Weed3 一个微型ORM框架(只有0.1Mb哦) 源码:https://github.com/noear/weed3 源码:https://gitee.com/noear/weed3 05年的时候开始写这个框架的1代版本。。。 08年时进入互联网公司重构写了...

2019/10/24 11:33
94
3

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部