在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

springboot的輕量替代框架-Solon

科技綠洲 ? 來源:Java技術(shù)指北 ? 作者:Java技術(shù)指北 ? 2023-09-30 10:55 ? 次閱讀

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

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

認(rèn)識(shí)Solon

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

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

官方介紹:

相比springboot,啟動(dòng)快 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 三種信號(hào)統(tǒng)一的開發(fā)體驗(yàn)(俗稱:三源合一)
  • 支持“注解”與“手動(dòng)”兩種模式,按需自由操控
  • Not Servlet,可以適配任何基礎(chǔ)通訊框架(最小 0.3m 運(yùn)行rpc架構(gòu))
  • 獨(dú)特的 IOC/AOP 容器設(shè)計(jì)。不會(huì)因?yàn)椴寮兌喽鴨?dòng)變很慢
  • 支持 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 包裝請(qǐng)求上下文(底層為: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 >

編寫啟動(dòng)類代碼

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

編寫Controller

@Controller
public class DemoController {

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

}

運(yùn)行,測試

圖片

可以看出來,啟動(dòng)還是非常非常快的

圖片

打包

圖片

啊?只有4kb?

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

圖片

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

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

圖片

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

小結(jié)

圖片

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

感興趣的小伙伴兒們快快用起來吧,對(duì)于自己的項(xiàng)目很適合,畢竟自己的服務(wù)器內(nèi)存和空間比較小,同樣的項(xiàng)目占用更小的空間和內(nèi)存還是很香的!

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • JAVA
    +關(guān)注

    關(guān)注

    19

    文章

    2967

    瀏覽量

    104751
  • 開發(fā)
    +關(guān)注

    關(guān)注

    0

    文章

    370

    瀏覽量

    40843
  • 框架
    +關(guān)注

    關(guān)注

    0

    文章

    403

    瀏覽量

    17487
  • SpringBoot
    +關(guān)注

    關(guān)注

    0

    文章

    173

    瀏覽量

    179
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    介紹一種OpenAtom OpenHarmony系統(tǒng)適配方案

    本文在不改變原有系統(tǒng)基礎(chǔ)框架的基礎(chǔ)上, 介紹了一種OpenAtom OpenHarmony(以下簡稱“OpenHarmony”)系統(tǒng)適配方案。
    的頭像 發(fā)表于 03-05 09:24 ?1167次閱讀
    介紹一種OpenAtom OpenHarmony<b class='flag-5'>輕</b><b class='flag-5'>量</b>系統(tǒng)適配方案

    SpringBoot知識(shí)總結(jié)

    SpringBoot干貨學(xué)習(xí)總結(jié)
    發(fā)表于 08-01 10:40

    mybatis支持?jǐn)?shù)據(jù)庫兼容的方案

    一個(gè)的方案, 令mybatis支持?jǐn)?shù)據(jù)庫兼容
    發(fā)表于 04-09 17:44

    一文解析SpringBoot2整合SSM框架

    SpringBoot2整合SSM框架詳解
    發(fā)表于 06-09 16:43

    【入門】1 升級(jí)應(yīng)用框架固件

    本帖最后由 jf_39160458 于 2021-5-21 16:04 編輯 首次拿到開發(fā)板后,開發(fā)板可能內(nèi)置不是應(yīng)用框架的固件,此時(shí)需要我們自己刷機(jī)。刷機(jī)流程如下:應(yīng)用框架
    發(fā)表于 05-21 15:51

    怎樣去使用springboot

    怎樣去使用springboot呢?學(xué)習(xí)springboot需要懂得哪些?
    發(fā)表于 10-25 07:13

    Springboot整合netty框架實(shí)現(xiàn)終端、通訊板子(單片機(jī))TCP/UDP通信案例

    如何springboot和netty案例的源代碼一個(gè)springboot整合netty框架的開發(fā)小案例,實(shí)現(xiàn)服務(wù)端與單片機(jī)終端實(shí)時(shí)通信的通訊架構(gòu)案例。物聯(lián)網(wǎng)通信給板子下發(fā)指令案例附帶源碼及整合流程步驟
    發(fā)表于 12-29 18:55 ?20次下載
    <b class='flag-5'>Springboot</b>整合netty<b class='flag-5'>框架</b>實(shí)現(xiàn)終端、通訊板子(單片機(jī))TCP/UDP通信案例

    如何移植OpenHarmony系統(tǒng)

    摘要:本文簡單介紹OpenHarmony系統(tǒng)移植,會(huì)分多篇
    的頭像 發(fā)表于 02-25 12:14 ?3048次閱讀
    如何移植OpenHarmony<b class='flag-5'>輕</b><b class='flag-5'>量</b>系統(tǒng)

    OpenHarmony系統(tǒng)開發(fā)【1】初始OH

    本文簡單介紹OpenHarmony、系統(tǒng)、小型系統(tǒng)、標(biāo)準(zhǔn)系統(tǒng)的差異,以及相關(guān)的官方資料和文檔 適合群體: 第一次接觸OpenHarmony、或者想要對(duì)OpenHarmony有一個(gè)全面的認(rèn)知
    發(fā)表于 02-25 17:49 ?998次閱讀

    為什么建議你替換掉SpringBoot框架中的Tomcat?

    SpringBoot框架中,我們使用最多的是Tomcat,這是SpringBoot默認(rèn)的容器技術(shù),而且是內(nèi)嵌式的Tomcat。
    的頭像 發(fā)表于 01-07 10:26 ?1096次閱讀

    Web框架替代方案分享(上)

    上周,我們從框架試圖解決哪些核心問題的角度出發(fā),考察了使用框架的不同好處和代價(jià),重點(diǎn)放在聲明性編程、數(shù)據(jù)綁定、反應(yīng)性、列表和條件。今天,我們來看看能否在 Web 平臺(tái)上找到替代方案。
    的頭像 發(fā)表于 03-20 14:51 ?491次閱讀

    Web框架替代方案分享(中)

    上周,我們從框架試圖解決哪些核心問題的角度出發(fā),考察了使用框架的不同好處和代價(jià),重點(diǎn)放在聲明性編程、數(shù)據(jù)綁定、反應(yīng)性、列表和條件。今天,我們來看看能否在 Web 平臺(tái)上找到替代方案。
    的頭像 發(fā)表于 03-20 14:51 ?558次閱讀

    Web框架替代方案分享(下)

    上周,我們從框架試圖解決哪些核心問題的角度出發(fā),考察了使用框架的不同好處和代價(jià),重點(diǎn)放在聲明性編程、數(shù)據(jù)綁定、反應(yīng)性、列表和條件。今天,我們來看看能否在 Web 平臺(tái)上找到替代方案。
    的頭像 發(fā)表于 03-20 14:51 ?565次閱讀

    什么是 SpringBoot

    本文從為什么要有 `SpringBoot`,以及 `SpringBoot` 到底方便在哪里開始入手,逐步分析了 `SpringBoot` 自動(dòng)裝配的原理,最后手寫了一個(gè)簡單的 `start` 組件,通過實(shí)戰(zhàn)來體會(huì)了 `
    的頭像 發(fā)表于 04-07 11:28 ?1315次閱讀
    什么是 <b class='flag-5'>SpringBoot</b>?

    Quarkus是SpringBoot替代品嗎?

    SpringBoot框架不用多介紹,Java程序員想必都知道。相對(duì)來說熟悉Quarkus的人可能會(huì)少一些。Quarkus首頁放出的標(biāo)語:超音速亞原子的Java(Supersonic Subatomic Java)。
    的頭像 發(fā)表于 11-10 10:01 ?719次閱讀
    Quarkus是<b class='flag-5'>SpringBoot</b>的<b class='flag-5'>替代</b>品嗎?
    主站蜘蛛池模板: 在线天堂中文新版有限公司| 手机在线小视频| 一区二区三区国模大胆| 亚洲色图.com| 色聚网久久综合| 蕾丝视频在线播放| 中日韩毛片| 天堂精品在线| 六月激情网| 深夜免费在线视频| 午夜色大片在线观看| 美女扒开尿口给男人看的让| 性欧美高清视频| 免费看黄色网页| 在线亚洲精品中文字幕美乳| 黄色三级网站| 青青草99热久久| 色偷偷狠狠色综合网| 精品在线视频一区| 天天槽任我槽免费| www.91大神| 午夜免费福利影院| 免费看成年视频网页| 日本jlzz| 男男h文小说阅| 日本免费a级片| 97在线人人| 在线观看黄网| 日韩毛片视频| 一级不卡毛片免费| 五月婷婷六月丁香激情| 天堂视频免费在线观看| 躁天天躁中文字幕在线| 亚洲你我色| 欧美一区二区三区在线观看| 亚洲vv| 免费观看视频在线| 一级做受毛片免费大片| 国外免费一级| 国产牛牛| 欲香欲色天天综合和网|