Solon 1.7新版本发布,有何现代感应用开发框架亮点?

2026-05-06 02:361阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计813个文字,预计阅读时间需要4分钟。

Solon 1.7新版本发布,有何现代感应用开发框架亮点?

关于Spring Boot和Spring Cloud的项目,启动速度快5~10倍,性能高2~3倍,运行时内存节省1/3~1/2。打包后可缩小到1/2~1/10(例如,90Mb的变为9Mb)。Solon:一个更现代的应用框架。

Solon 1.7新版本发布,有何现代感应用开发框架亮点?

相对于 Spring Boot 和 Spring Cloud 的项目
  • 启动快 5 ~ 10 倍
  • qps 高 2~ 3 倍
  • 运行时内存节省 1/3 ~ 1/2
  • 打包可以缩小到 1/2 ~ 1/10(比如,90Mb 的变成了 9Mb)
关于 Solon

Solon 是一个更现代感的应用开发框架,轻量、开放生态型的。支持 Web、Data、Job、Remoting、Cloud 等任何开发场景。

  • 强调,克制 + 简洁 + 开放 + 生态的原则
  • 力求,更小、更少、更快、更自由的体验

目前有近130个生态插件,含盖了日常开发的各种需求。

本次主要更新内容
  • 新增 hasordb-solon-plugin 插件

@Service public class DemoService{ @Db("db1") JdbcTemplate jdbcTemplate; @Db("db1") LambdaTemplate lambdaTemplate; public void test(){ var dtoList = jdbcTemplate.queryForList("select * from test_user", TestUser.class); var dtoList2 = lambdaTemplate.lambdaQuery(TestUser.class).queryForList(); } }

  • 新增 solon.cache.redisson 插件

#完整配置示例 demo.cache1: driverType: "redisson" #缓存驱动类型 server: "localhost:6379" password: "1234" db: 0 #默认为 0,可不配置 defSeconds: 30 #默认为 30秒,可不配置

//配置缓存服务 @Configuration public class Config { //通过 CacheServiceSupplier ,可根据 driverType 自动构建缓存服务 @Bean(name = "cache2s") public CacheService cache2(@Inject("${demo.cache2}") CacheServiceSupplier supplier){ return supplier.get(); } }

  • 新增 solon.sessionstate.redisson 插件
  • 新增 solon.sessionstate.jedis 插件(替代旧的 solon.extend.sessionstate.redis)
  • 新增 solon.sessionstate.local 插件(替代旧的 solon.extend.sessionstate.local)
  • 插件 localhost:28080/demoe/rpc") .encoder(SnackTypeEncoder.instance) .timeout(60 * 60) //单位:秒 .create(HelloService.class);
    • 调整 session-id-key 可配置 "server.session.cookieName"

    #设定会话超时秒数(单位:秒) server.session.timeout: 3600 #设定会话id的cookieName server.session.cookieName: "E52Ou8sV"

    • 调整 Action::bean() 更名为 controller()

    public class DemoApp { public static void main(String[] args) { Solon.start(DemoApp.class, args); //打印所有路由记录里的控制器名 Collection<Routing<Handler>> routings = Solon.global().router().getAll(Endpoint.main); for(Routing<Handler> routing : routings){ if(routing.target() instanceof Action){ Action action = (Action) routing.target(); System.out.println(action.controller().name()); } } } }

    • 调整 Gateway 内部路由改为 RoutingTable 接口,支持 method(之前为 Map)
    • 调整 属性注入的异常透传机制
    • 调整 CloudConfigHandler:handler 更名为:handle
    • 调整 CloudDiscoveryHandler:handler 更名为:handle
    • 调整 CloudEventHandler:handler 更名为:handle
    • 调整 CloudEventInterceptor:doInterceptor 更名为:doIntercept
    • 调整 CloudJobInterceptor:doInterceptor 更名为:doIntercept
    • snack3 升级为:3.2.21
    • redisx 升级为:1.4.3
    进一步了解 Solon
    • 《想法与架构笔记》
    • 《生态预览》
    • 《与 Spring Boot 的区别?》
    • 《与 Spring Cloud 的区别?》
    项目地址
    • gitee:gitee.com/noear/solon
    • github:github.com/noear/solon
    • website: solon.noear.org
标签:应用开发

本文共计813个文字,预计阅读时间需要4分钟。

Solon 1.7新版本发布,有何现代感应用开发框架亮点?

关于Spring Boot和Spring Cloud的项目,启动速度快5~10倍,性能高2~3倍,运行时内存节省1/3~1/2。打包后可缩小到1/2~1/10(例如,90Mb的变为9Mb)。Solon:一个更现代的应用框架。

Solon 1.7新版本发布,有何现代感应用开发框架亮点?

相对于 Spring Boot 和 Spring Cloud 的项目
  • 启动快 5 ~ 10 倍
  • qps 高 2~ 3 倍
  • 运行时内存节省 1/3 ~ 1/2
  • 打包可以缩小到 1/2 ~ 1/10(比如,90Mb 的变成了 9Mb)
关于 Solon

Solon 是一个更现代感的应用开发框架,轻量、开放生态型的。支持 Web、Data、Job、Remoting、Cloud 等任何开发场景。

  • 强调,克制 + 简洁 + 开放 + 生态的原则
  • 力求,更小、更少、更快、更自由的体验

目前有近130个生态插件,含盖了日常开发的各种需求。

本次主要更新内容
  • 新增 hasordb-solon-plugin 插件

@Service public class DemoService{ @Db("db1") JdbcTemplate jdbcTemplate; @Db("db1") LambdaTemplate lambdaTemplate; public void test(){ var dtoList = jdbcTemplate.queryForList("select * from test_user", TestUser.class); var dtoList2 = lambdaTemplate.lambdaQuery(TestUser.class).queryForList(); } }

  • 新增 solon.cache.redisson 插件

#完整配置示例 demo.cache1: driverType: "redisson" #缓存驱动类型 server: "localhost:6379" password: "1234" db: 0 #默认为 0,可不配置 defSeconds: 30 #默认为 30秒,可不配置

//配置缓存服务 @Configuration public class Config { //通过 CacheServiceSupplier ,可根据 driverType 自动构建缓存服务 @Bean(name = "cache2s") public CacheService cache2(@Inject("${demo.cache2}") CacheServiceSupplier supplier){ return supplier.get(); } }

  • 新增 solon.sessionstate.redisson 插件
  • 新增 solon.sessionstate.jedis 插件(替代旧的 solon.extend.sessionstate.redis)
  • 新增 solon.sessionstate.local 插件(替代旧的 solon.extend.sessionstate.local)
  • 插件 localhost:28080/demoe/rpc") .encoder(SnackTypeEncoder.instance) .timeout(60 * 60) //单位:秒 .create(HelloService.class);
    • 调整 session-id-key 可配置 "server.session.cookieName"

    #设定会话超时秒数(单位:秒) server.session.timeout: 3600 #设定会话id的cookieName server.session.cookieName: "E52Ou8sV"

    • 调整 Action::bean() 更名为 controller()

    public class DemoApp { public static void main(String[] args) { Solon.start(DemoApp.class, args); //打印所有路由记录里的控制器名 Collection<Routing<Handler>> routings = Solon.global().router().getAll(Endpoint.main); for(Routing<Handler> routing : routings){ if(routing.target() instanceof Action){ Action action = (Action) routing.target(); System.out.println(action.controller().name()); } } } }

    • 调整 Gateway 内部路由改为 RoutingTable 接口,支持 method(之前为 Map)
    • 调整 属性注入的异常透传机制
    • 调整 CloudConfigHandler:handler 更名为:handle
    • 调整 CloudDiscoveryHandler:handler 更名为:handle
    • 调整 CloudEventHandler:handler 更名为:handle
    • 调整 CloudEventInterceptor:doInterceptor 更名为:doIntercept
    • 调整 CloudJobInterceptor:doInterceptor 更名为:doIntercept
    • snack3 升级为:3.2.21
    • redisx 升级为:1.4.3
    进一步了解 Solon
    • 《想法与架构笔记》
    • 《生态预览》
    • 《与 Spring Boot 的区别?》
    • 《与 Spring Cloud 的区别?》
    项目地址
    • gitee:gitee.com/noear/solon
    • github:github.com/noear/solon
    • website: solon.noear.org
标签:应用开发