自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

單挑Spring!結(jié)果會怎么樣?

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

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

Java之所以是廣泛使用的編程語言,不僅僅因?yàn)槠渚哂锌缙脚_性、面向?qū)ο?、可靠性,還有很重要的一點(diǎn)是強(qiáng)大的生態(tài)系統(tǒng),spring家族的一系列框架,對Java的崛起有著不可忽視的作用。

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

認(rèn)識Solon

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

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

官方介紹:

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

  • 克制、簡潔、高效、開放、生態(tài)
  • 支持 JDK8、JDK11、JDK17、JDK20
  • Http、WebSocket、Socket 三種信號統(tǒng)一的開發(fā)體驗(yàn)(俗稱:三源合一)
  • 支持“注解”與“手動”兩種模式,按需自由操控
  • Not Servlet,可以適配任何基礎(chǔ)通訊框架(最小 0.3m 運(yùn)行rpc架構(gòu))
  • 獨(dú)特的 IOC/AOP 容器設(shè)計(jì)。不會因?yàn)椴寮兌喽鴨幼兒苈?/li>
  • 支持 Web、Data、Job、Remoting、Cloud 等任何開發(fā)場景
  • 兼顧 Handler + Context 和 Listener + Message 兩種架構(gòu)模式
  • 強(qiáng)調(diào)插件式擴(kuò)展,可擴(kuò)展可切換;適應(yīng)不同的應(yīng)用場景
  • 支持 GraalVm Native 打包
  • 允許業(yè)務(wù)插件“熱插”、“熱拔”、“熱管理”

圖片圖片

solon生態(tài)架構(gòu)圖

官網(wǎng):https://solon.noear.org/

項(xiàng)目地址:https://gitee.com/noear/solon

上手Solon

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

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

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

<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("啟動耗時(shí):" + (end - start) + "ms");
    }
}

編寫Controller

@Controller
public class DemoController {

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

}

運(yùn)行,測試

圖片圖片

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

圖片圖片

打包

圖片圖片

?。恐挥?kb?

有點(diǎn)兒驚人,為此,我專門去新建了個(gè)springboot項(xiàng)目,也是簡單的一個(gè)接口,打包

圖片圖片

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

順便測試了一下啟動時(shí)間

圖片圖片

啟動時(shí)間確實(shí)還是 Solon 更快!

小結(jié)

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

責(zé)任編輯:武曉燕 來源: Java技術(shù)指北
相關(guān)推薦

2018-07-31 15:38:07

SDN物聯(lián)網(wǎng)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

云計(jì)算PaaS

2021-09-01 10:50:21

int main()return 0語言

2020-04-28 08:10:42

編程Resflux應(yīng)用

2021-07-06 07:27:44

函數(shù)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大數(shù)據(jù)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

2009-11-18 09:38:10

GoogleChrome OS谷歌

2009-11-20 08:53:15

GoogleChrome系統(tǒng)發(fā)布

2017-08-09 09:05:00

旅游智慧
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號