系列目錄
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.文檔齊全,每個模塊是如何進行設計以及實現的,本系列博客都有相應的文章去講解,免去了看源碼卻沒注釋的煩惱,同時,也可以清晰的看到設計演進,授人以魚莫若授人以漁,做最有誠意的開源。
使用教程

github項目里,自帶了一個example的子項目,里面大部分用法都有了,但是!作為一個靈魂畫手,不展示一下我高超的畫技怎么行呢。
這樣注冊,模仿微軟原生DI的注冊方式,實現了AddSbScope,AddSbSingleton,AddSbTransient,以及對應的try版本,比如TryAddSbTransient。

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

只需要寫接口,以及注解,就能實現增刪改查的倉儲,他長這樣

注入的時候像下面這樣

注解式緩存像這樣

寫在最后
他山之石,可以攻玉,本項目致力於移植優秀的各種實現,剛開坑,如果有興趣的小伙伴,可以加QQ群 799648362。
如果這篇文章對你有所幫助,不妨點個贊咯。
