偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

單挑Spring!結果會怎么樣?

開發(fā) 前端
再來看看Solon的官方文檔,文檔寫的很詳細,功能很齊全,Solon的生態(tài)雖然沒有spring那么強大,但小型項目已經完全可以勝任。

哈嘍,大家好,我是了不起。最近啥事兒沒有,真的是只能摸魚了,前幾天摸魚摸出了Java程序員摸魚的時候干點兒啥,今天又摸出了這篇文章~

Java之所以是廣泛使用的編程語言,不僅僅因為其具有跨平臺性、面向對象、可靠性,還有很重要的一點是強大的生態(tài)系統(tǒng),spring家族的一系列框架,對Java的崛起有著不可忽視的作用。

學Java的不可能不知道Spring,今天給大家介紹一個號稱springboot的輕量替代框架-Solon,這個框架還是國人開發(fā)的,真是一個單挑spring的男人。

認識Solon

Solon是一個參考了Spring Boot和Javalin的設計而創(chuàng)建的框架。它吸取了這兩者的優(yōu)點并避免了繁重的設計,使得它能夠支持HTTP、WebSocket和Socket等三種通信信號接入。

Solon只需要2MB的大小就可以支撐完整的MVC開發(fā),并且在啟動方面只需要0.1秒的時間。相比之下,一個普通的Spring Boot MVC項目通常需要起步20MB以上的內存占用,并且啟動時間要超過3秒,同時其QPS性能也較弱。

官方介紹:

相比springboot,啟動快 5 ~ 10 倍;qps 高 2~ 3 倍;運行時內存節(jié)省 1/3 ~ 1/2;打包可以縮到 1/2 ~ 1/10;同時支持 jdk8, jdk11, jdk17, jdk20, graalvm native。

  • 克制、簡潔、高效、開放、生態(tài)
  • 支持 JDK8、JDK11、JDK17、JDK20
  • Http、WebSocket、Socket 三種信號統(tǒng)一的開發(fā)體驗(俗稱:三源合一)
  • 支持“注解”與“手動”兩種模式,按需自由操控
  • Not Servlet,可以適配任何基礎通訊框架(最小 0.3m 運行rpc架構)
  • 獨特的 IOC/AOP 容器設計。不會因為插件變多而啟動變很慢
  • 支持 Web、Data、Job、Remoting、Cloud 等任何開發(fā)場景
  • 兼顧 Handler + Context 和 Listener + Message 兩種架構模式
  • 強調插件式擴展,可擴展可切換;適應不同的應用場景
  • 支持 GraalVm Native 打包
  • 允許業(yè)務插件“熱插”、“熱拔”、“熱管理”

圖片圖片

solon生態(tài)架構圖

官網:https://solon.noear.org/

項目地址:https://gitee.com/noear/solon

上手Solon

web開發(fā)的模式和springboot基本一致,但是注解和springboot略有區(qū)別,具體區(qū)別可以看它的官方文檔。

一個重要的區(qū)別是,Solon 不是基于 Servlet 的開發(fā)框架,雖然使用起來與 Springboot 相似的體驗,但內部使用 Context 包裝請求上下文(底層為:Context + Handler 架構)。

創(chuàng)建Maven項目,引入依賴

<parent>
    <groupId>org.noear</groupId>
    <artifactId>solon-parent</artifactId>
    <version>2.3.6</version>   
</parent>

<dependencies>
    <dependency>
        <groupId>org.noear</groupId>
        <artifactId>solon-web</artifactId>
    </dependency>
</dependencies>

編寫啟動類代碼

@SolonMain
public class App{
    public static void main(String[] args){
        long start = System.currentTimeMillis();
        Solon.start(App.class, args);
        long end = System.currentTimeMillis();
        System.out.println("啟動耗時:" + (end - start) + "ms");
    }
}

編寫Controller

@Controller
public class DemoController {

    @Mapping("/hello")
    public String hello(String name){
        return "Hello " + name;
    }

}

運行,測試

圖片圖片

可以看出來,啟動還是非常非??斓?/p>

圖片圖片

打包

圖片圖片

?。恐挥?kb?

有點兒驚人,為此,我專門去新建了個springboot項目,也是簡單的一個接口,打包

圖片圖片

好吧,這個項目也是4k,看來太簡單的項目看不出來區(qū)別。等以后寫新項目玩兒的時候再試試。

順便測試了一下啟動時間

圖片圖片

啟動時間確實還是 Solon 更快!

小結

再來看看Solon的官方文檔,文檔寫的很詳細,功能很齊全,Solon的生態(tài)雖然沒有spring那么強大,但小型項目已經完全可以勝任。

責任編輯:武曉燕 來源: Java技術指北
相關推薦

2018-07-31 15:38:07

SDN物聯(lián)網IIoT

2024-08-22 08:50:51

2025-02-11 09:01:57

2023-10-23 19:58:01

Android

2014-02-18 11:24:07

云計算PaaS

2021-09-01 10:50:21

int main()return 0語言

2020-04-28 08:10:42

編程Resflux應用

2021-07-06 07:27:44

函數Return編譯器

2024-05-07 08:46:06

GoGoogle云原生

2020-05-11 17:08:28

蘋果WindowsMacBook

2024-10-14 09:58:06

并發(fā)編程共享

2020-11-19 14:28:02

MacBookiOS蘋果

2019-07-19 15:42:57

Hadoop大數據YuniKorn

2018-08-07 09:38:06

2015-07-23 11:49:31

程序猿

2020-11-27 07:45:31

JVM垃圾回收

2020-05-06 08:44:20

等保2.0WAFIDC

2017-08-09 09:05:00

旅游智慧

2009-11-18 09:38:10

GoogleChrome OS谷歌

2009-11-20 08:53:15

GoogleChrome系統(tǒng)發(fā)布
點贊
收藏

51CTO技術棧公眾號