Solon 1.5.16 发布,多项细节优化

栏目: 软件资讯 · 发布时间: 4年前

内容简介:Solon 是一个轻量的Java基础开发框架。强调,克制 + 简洁 + 开放的原则;力求,更小、更快、更自由的体验。支持:RPC、REST API、MVC、Job、Micro service、WebSocket、Socket 等多种开发模式。短小而精悍! Solo...

Solon 是一个轻量的 Java 基础开发框架。强调,克制 + 简洁 + 开放的原则;力求,更小、更快、更自由的体验。支持:RPC、REST API、MVC、Job、Micro service、WebSocket、Socket 等多种开发模式。短小而精悍!

Solon Cloud 是一系列的接口标准和配置规范,算是 Solon 的分布式开发套件方案。

快速了解Solon的材料:

《Solon 特性简集,相较于 Springboot 有什么区别?》

《Solon Cloud 分布式服务开发套件清单,感觉受与 Spring Cloud 的不同》

《Solon 的想法与架构笔记》

所谓更小:

内核0.1m,最小的接口开发单位0.2m(相较于 Dubbo、Springboot 的依赖包,小到可以乎略不计)

所谓更快:

本机http helloworld测试,Qps可达12万之多。可参考:《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);

本次版本主要变化:

  • 优化 mybatis-solon-plugin 插件
    • 增加 Configuration::Environment::id 设为:ds-${ds bean name},例 ds-db1
    • 增加 mybatis-pagehelper-solon-plugin 插件(适配 pagehelper )
  • 优化 beetlsql-solon-plugin 插件
    • 将 SQLManagerBuilder 的 name 设为:ds-${ds bean name},例 ds-db1
    • 主从库的数据源收集改为订阅模式(免得有些源未生成好)
    • 取消自动添加debug插件的机制
    • 升级 beetlsql 到 3.6.2
  • 调整 quartz-solon-plugin、cron4j-solon-plugin 插件的执行顺序
    • 调整在 AppLoadEndEvent 事件中执行
  • 缓存增加序列化接口,便于切定制和切换
  • 调整 solon.boot.jetty 插件
    • 升级 jetty 到 9.4.40.v20210413
  • 修复 solon.extend.staticfiles 在 jar + debug=1 模式下会出错的问题
  • 修复 solon.view 在 jar + debug=1 模式下会出错的问题
  • 修复 有默认值的环境变量转换失效的问题
  • 解决 water-solon-plugin 在k8s下,运行时检测的安全限制问题
  • 增加 solon.extend.aspect:: @Repository 语议组件注解
  • 增加 solon.extend.aspect:: BeanProxy 类,以支持自定义代理扩展

简单了解一下使用: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!";
    }
}

 

附:入门示例


以上所述就是小编给大家介绍的《Solon 1.5.16 发布,多项细节优化》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

The Four

The Four

Scott Galloway / Portfolio / 2017-10-3 / USD 28.00

NEW YORK TIMES BESTSELLER USA TODAY BESTSELLER Amazon, Apple, Facebook, and Google are the four most influential companies on the planet. Just about everyone thinks they know how they got there.......一起来看看 《The Four》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

MD5 加密
MD5 加密

MD5 加密工具