摘要
Solon是一个注重简约、对外开放的轻量级Java开发框架,更小、更快、更随意,适用于多种开发方式,包括RPC、REST API、MVC、Job、Micro service、WebSocket、Socket等。Solon Cloud是Solon的云端解决方案。
正文
对比 Spring Boot & Cloud ,轻巧架构 Solon 1.5.2 关键公布
Solon 是一个轻巧的Java基本开发框架。注重,抑制 简约 对外开放的标准;务求,更小、更快、更随意的感受。适用:RPC、REST API、MVC、Job、Micro service、WebSocket、Socket 等多种多样开发方式。简短而精简!
Solon Cloud 是一系列的标准接口和配备标准,算作 Solon 的分布式开发模块计划方案。
迅速掌握Solon的原材料:
《Solon 特性简集,相较于 Springboot 有什么区别?》
《Solon Cloud 分布式服务开发套件清单,感觉受与 Spring Cloud 的不同》
《Solon 的想法与架构笔记》
《Solon 生态插件清单》,现阶段现有100好几个绿色生态软件
《Solon 框架入门系列》
《Solon Aop 特色开发系列》
说白了更小:
核心0.1米,最少的接口开发企业0.两米(相比于 Dubbo、Springboot 的依赖包,小到能够乎略不计入)
说白了更快:
该设备http helloworld检测,Qps可以达到十二万之多。可参照:《helloworld_wrk_test》
说白了更随意:(编码操纵随意)
// 除开注释方式以外,还能够按需手动式
//
//手动式获得配备(Props 为 Properties 增强版)
Props db = Solon.cfg().getProp("db");
//手动式获得器皿里的Bean
UserService userService = Aop.get(UserService.class);
//手动式监视http post要求
Solon.global().post("/user/update", x-> userService.updateById(x.paramMap()));
//手动式加上个RPC服务项目
Solon.global().add("/rpc/", HelloService.class, true);
//手动式获得一个RPC服务项目消費端
HelloService helloService = Nami.builder().create(HelloService.class);
//手动式为器皿加上部件
Aop.wrapAndPut(DemoService.class);
此次版本号关键转变:
1、一部分软件名调节
原软件 | 升級为新软件 | 缘故表明 |
---|---|---|
solon.extend.auth | solon.auth | 影响力升級 |
solon.extend.data | solon.data | 影响力升級 |
solon.extend.validation | solon.validation | 影响力升級 |
solon.extend.jetty.jsp | solon.boot.jetty.add.jsp | 提升与 solon.boot.jetty 关联性 |
solon.extend.jetty.websocket | solon.boot.jetty.add.websocket | 提升与 solon.boot.jetty 关联性 |
solon.extend.undertow.jsp | solon.boot.undertow.add.jsp | 提升与 solon.boot.undertow 关联性 |
2、一部分包名调节
原包名 | 升級为新包名 | 缘故表明 |
---|---|---|
solon.extend.auth.* | solon.auth.* | 影响力升級 |
solon.extend.validation.* | solon.validation.* | 影响力升級 |
solon.extend.data.* | solon.data.* | 影响力升級 |
solon.core.tran.* | solon.data.tran.* | 转到 solon.data 统一维护保养 |
solon.core.cache.* | solon.data.cache.* | 转到 solon.data 统一维护保养 |
3、solon.validation 软件其他调节与升級
- 修改 ValidatorManager,由单例模式改成静态数据方式;并标准接口干了提升
- 调节 ValidatorManager::onFailure 改名为 ValidatorManager::setFailureHandler
- 调节 NoRepeatLock 改名为 NoRepeatSubmitChecker(与其他探测器统一为Checker的定义)
4、solon.validation 软件提升实体线认证适用(也可转换为jsr303)
实例:
@Valid
@Mapping("/demo2/valid")
@Controller
public class ValIDController {
@NoRepeatSubmit
@Mapping("nrs")
public String nrs() {
return "OK";
}
@NotBlank({"val1", "val2"})
@Mapping("nblank")
public String nblank(String val1, String val2) {
return "OK";
}
@Mapping("bean")
public String bean(@Validated ValidModel model) {
return "OK";
}
}
@Data
public class ValidModel {
@NotBlank(message = "手机号码不可以为空")
private String mobile;
@NotBlank(message = "登陆密码不可以为空")
private String password;
}
5、solon.auth 软件提升模版标识适用
- 调节 各模板引擎內部插口名字,看起来更统一些
- 模版 beetl 提升管理权限验证标识适用
- 模版 enjoy 提升管理权限验证标识适用
- 模版 freemarker 提升管理权限验证标识适用
- 模版 jsp 提升管理权限验证标识适用
- 模版 thymeleaf 提升管理权限验证标识适用
- 模版 velocity 提升管理权限验证标识适用
beetl 实例:
<#authPermissions name="user:del">
是我user:del管理权限
</#authPermissions>
<#authRoles name="admin">
是我admin人物角色
</#authRoles>
enjoy 实例:
#authPermissions("user:del")
是我user:del管理权限
#end
#authRoles("admin")
是我admin人物角色
#end
freemarker 实例:
<@authPermissions name="user:del">
是我user:del管理权限
</@authPermissions>
<@authRoles name="admin">
是我admin人物角色
</@authRoles>
6、solon core 的事务管理与缓存文件界定插口迁到:solon.data 软件
- 挪动 org.noear.solon.core.cache.CacheService 到 org.noear.solon.data.cache.CacheService
- 挪动 org.noear.solon.core.tran.TranExecutor 到 org.noear.solon.data.tran.TranExecutor
- 挪动 org.noear.solon.core.tran.TranUtils 到 org.noear.solon.data.tran.TranUtils
7、提升 httputils-solon-plugin 软件
它是根据Solon Cloud 申请注册发觉服务项目的 HttpUtils 专用工具,为Rpc客户端计划方案外给予一个划算的服务项目启用方法。
特别适合k8s和传统式申请注册发觉服务项目等不一样情景。实例:
String rst = HttpUtils.http("helloservice", "/hello").data("name","noer").post();
System.out.println(rst);
8、要求主要参数全自动变换日期的文件格式提升到9种
"yyyy-MM-dd'T'HH:mm:ss.SSSXXX"
"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"
"yyyy-MM-dd HH:mm:ss,SSS"
"yyyy-MM-dd HH:mm:ss.SSS"
"yyyyMMddHHmmssSSSZ"
"yyyy-MM-dd'T'HH:mm:ss"
"yyyy-MM-dd HH:mm:ss"
"yyyy-MM-dd"
"HH:mm:ss"
9、其他
- 修补载入配备时,数值null会错误的难题
- 升級snack3,提升大量的時间解决文件格式
- 提升大量的時间解决文件格式(与snack3同)
- enjoy 方式,分离出来 debug 模块的案例
- Validator 插口的原函数 validate 改名为 validateOfContext;并提升 validateOfEntity 函数定义(适用实体线认证)
- solon.extend.jsr303 软件不会再全自动引入到器皿(Solon Validation,已适用实体线认证)
附:新项目详细地址
- Gitee:https://gitee.com/noear/solon
- GitHub:https://github.com/noear/solon
附:新手入门实例
- Solon 基础教程实例:https://gitee.com/noear/solon_demo
- Solon Api 基础教程实例:https://gitee.com/noear/solon_api_demo
- Solon Rpc 基础教程实例:https://gitee.com/noear/solon_rpc_demo
- Solon Auth 基础教程实例:https://gitee.com/noear/solon_auth_demo
- Solon Cloud 基础教程实例:https://gitee.com/noear/solon_cloud_demo
- Solon 升阶实例教程实例:https://gitee.com/noear/solon_advance_demo
关注不迷路
扫码下方二维码,关注宇凡盒子公众号,免费获取最新技术内幕!
评论0