solon - 插件式微型 Web 框架
软件简介
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 |
扩展插件,本地 |
org.noear:solon.extend.sessionstate.redis |
扩展插件,分布式 |
序列化插件 |
说明 |
---|---|
org.noear:solon.serialization.fastjson |
视图插件,对 |
org.noear:solon.serialization.snack3 |
视图插件,对 |
org.noear:solon.serialization.jackson |
视图插件,对 |
视图插件 |
说明(可置多个视图插件) |
---|---|
org.noear:solon.view.freemarker |
视图插件,对 |
org.noear:solon.view.jsp |
视图插件,对 |
org.noear:solon.view.velocity |
视图插件,对 |
org.noear:solon.view.thymeleaf |
视图插件,对 |
org.noear:solon.view.beetl |
视图插件,对 |
org.noear:solon.view.enjoy |
视图插件,对 |
rpc client |
说明 |
---|---|
org.noear:solonclient |
solon rpc client 与solon 的 rpc service 配对 |
外部框架适配 |
说明 |
---|---|
org.noear:cron4j-solon-plugin |
cron4j 适配 |