天天看點

net core天馬行空系列:SummerBoot,将SpringBoot的先進理念與C#的簡潔優雅合二為一

系列目錄

1.net core天馬行空系列:原生DI+AOP實作spring boot注解式程式設計

2.net core天馬行空系列: 泛型倉儲和聲明式事物實作最優雅的crud操作

3.net core天馬行空系列: 一個接口多個實作類,利用mixin技術通過自定義服務名,實作精準屬性注入

4.net core天馬行空系列:移植spring cache,實作支援條件限定,事務環繞,多級複用的注解式緩存(除了多級複用以外,代碼已完成,部落格正在寫)

5.net core天馬行空系列:利用AOP,在dapper的基礎上進一步封裝,實作隻需寫接口,并添加相應注解,即可實作增删改查(代碼已完成,部落格正在寫)

6.net core天馬行空系列:移植阿裡巴巴開源的Druid資料庫連接配接池,詳解多線程在web開發中的應用(代碼完成度50%,卡在了AQS在.net裡沒有相應的實作類,正在磨豆腐)

正文開始

       哈哈哈哈,大家好,我就是高産似母豬的三合,好久沒寫部落格了,因為最近幾個月在不斷的加班,加班時長平均每個月120小時以上。今天是2020年的第一天,作為一條程式汪,覺得不做點啥好像對不起這個特别有紀念意義的日子,是以呢,就把之前部落格裡寫過的一些實作,封裝成一個開源項目,因為是spring boot在net core上的複現,是以,它的名字,就叫summerBoot,今天是第一版,自然,有非常多的細節沒有兼顧到,也有很多bug可能連我自己也還沒發現,甚至,我連單元測試都沒有寫,但是,這并不妨礙我釋出第一個版本,畢竟趕日子比較重要,哈哈哈哈哈哈,先放github位址和nuget包名稱,本項目基于MIT協定開源,net core2.1版本即可使用,但是為了加快.net core 3.1的普及,最低版本要求3.1,可克隆源碼,自行改成2.1編譯。

github位址:https://github.com/TripleView/SummerBoot

nuget搜尋:SummerBoot

王婆要開始賣瓜了,嘿嘿嘿

summerBoot優點如下:

1.利用注解+AOP+微軟原生DI,實作普通類級别的攔截(非middleWare和controller層面上的攔截),進而在net core裡複現了許多springBoot裡的功能,先進的程式設計理念帶來的影響是,使用summerBoot的團隊,将會有統一的,更優雅的代碼實作方式,相同功能的代碼将會被剝離出來,放到AOP層面上來統一實作,一個注解頂20行代碼,不是夢。

2.完全面向接口設計,任何子產品可自定義替換。

3.文檔齊全,每個子產品是如何進行設計以及實作的,本系列部落格都有相應的文章去講解,免去了看源碼卻沒注釋的煩惱,同時,也可以清晰的看到設計演進,授人以魚莫若授人以漁,做最有誠意的開源。

使用教程

net core天馬行空系列:SummerBoot,将SpringBoot的先進理念與C#的簡潔優雅合二為一

github項目裡,自帶了一個example的子項目,裡面大部分用法都有了,但是!作為一個靈魂畫手,不展示一下我高超的畫技怎麼行呢。

這樣注冊,模仿微軟原生DI的注冊方式,實作了AddSbScope,AddSbSingleton,AddSbTransient,以及對應的try版本,比如TryAddSbTransient。

net core天馬行空系列:SummerBoot,将SpringBoot的先進理念與C#的簡潔優雅合二為一

注冊的時候也可以加入攔截器,就像這樣

net core天馬行空系列:SummerBoot,将SpringBoot的先進理念與C#的簡潔優雅合二為一

隻需要寫接口,以及注解,就能實作增删改查的倉儲,他長這樣

net core天馬行空系列:SummerBoot,将SpringBoot的先進理念與C#的簡潔優雅合二為一

注入的時候像下面這樣

net core天馬行空系列:SummerBoot,将SpringBoot的先進理念與C#的簡潔優雅合二為一

注解式緩存像這樣

net core天馬行空系列:SummerBoot,将SpringBoot的先進理念與C#的簡潔優雅合二為一

寫在最後

       他山之石,可以攻玉,本項目緻力于移植優秀的各種實作,剛開坑,如果有興趣的小夥伴,可以加QQ群 799648362。

       如果這篇文章對你有所幫助,不妨點個贊咯。

上一篇: RabbitMQ叢集
下一篇: 第二次作業

繼續閱讀