Solon 1.6.25 釋出,輕量級應用開發框架

劉之西東發表於2022-02-23

關於官網

千呼萬喚始出來: https://solon.noear.org 。整了一個月多了。。。還得不斷接著整!

關於 Solon

Solon 是一個輕量級應用開發框架。支援 Web、Data、Job、Remoting、Cloud 等任何開發場景。短小而精悍!

  • 強調,剋制 + 簡潔 + 開放的原則
  • 力求,更小、更快、更自由的體驗

目前已有近130個生態外掛,含蓋了日常開發的各種需求。

關於 Solon Cloud

Solon Cloud 定義了一系列分散式開發的介面標準和配置規範,相當於DDD模式裡的防腐層概念。是 Solon 的微服務架構模式開發解決方案。

本次主要更新

  • 外掛 solon.boot.smarthttp,升級 smart-http 到 1.1.11
  • 外掛 solon.socketd.client.smartsocket,升級 smart-socket 到 1.5.15
  • 新增 SolonApp::pluginPop 介面

示例

public class DemoApp {
    public static void main(String[] args) {
        SolonApp app = Solon.start(DemoApp.class, args);

        //動態插入外掛
        app.plug(new PluginImpl()); 

        //動態撥出外掛
        PluginEntity tmp = app.pluginPop(PluginImpl.class);
        if(tmp != null) {
            //停掉外掛
            tmp.prestop();
            tmp.stop();
        }
    }
}
  • 調整 solon.schedule 排程策略
  • 調整 water job 的 name 處理
  • 調整 @CacheRemove key 為 keys
  • 調整 @Param 的作用範圍,只能作用於引數
  • 新增 @Header 以支援頭變數注入

示例

@Controller
public class DemoController{
    @Mapping("hello")
    public void hello(@Header("Token") String token){
    
    }
}
  • 新增 @PathVar 以方便文件框架識別
  • 新增 配置對複雜結構類的支援

配置

jap:
  issuer: test
  japConfig:
    sso: true
    ssoConfig:
      cookieDomain: https://lab.test.cn
  simpleConfig:
    credentialEncryptSalt: xxxxx
  credentials:
    gitee:
      clientId: aaaaaaaaaa
      clientSecret: bbbbbbbbbb
      redirectUri: http://127.0.0.1:8443/social/login/gitee
  callbacks:
    - /

注入到複雜結構

@Inject("${jap}")
@Configuration
public class DemoConfig{
    public String issuer;
    public JapConfig japConfig;
    public List<String> callbacks;
}

快速瞭解 Solon

專案地址

相關文章