人生沒有if,所以這個(gè)框架來了,一直有這個(gè)寫個(gè)框架的心零酪,這次終于得以安心啦冒嫡!肝了幾天,熬了幾夜四苇,也算是沒有白熬夜P⒘琛!月腋!
直接入主題吧蟀架!這就是我們碼農(nóng)對的起打工人的稱號!
首先先介紹一下這個(gè)框架的用途(先別吐糟榆骚,或許真的不是重新造輪子)
1.這是一個(gè)類似spring+spingBoot+mybatis 可耦可拆 的一個(gè)web 框架
主要使用技術(shù)
1.cglib 動(dòng)態(tài)代理
2.gradle 構(gòu)建工具
3.netty
3.各種設(shè)計(jì)模式
4.不用if
5.只用lambda
具體實(shí)現(xiàn)的功能或者思想有
1.ioc di 也就是大名鼎鼎的 依賴注入
2.aop 面向切面編程
3.mybatis 動(dòng)態(tài)代理
4.攔截器
5.過濾器
6.循環(huán)依賴 區(qū)別于spring 的實(shí)現(xiàn)
說實(shí)話這是個(gè)面向函數(shù)式編程工程片拍,需要有函數(shù)式編程基礎(chǔ)這也是重點(diǎn)
雖說還有些bug不過已經(jīng)是好的開始
上代碼 先來個(gè)啟動(dòng)類
邏輯那不是一般的清晰 關(guān)鍵還有注釋
1.注釋很清晰 邏輯也很清晰 我想看過這個(gè)你或許知道其實(shí)沒有那么難-->Spring and SpringBoot
2.設(shè)計(jì)理念 主要是主要的功能實(shí)現(xiàn) 都預(yù)留的升級邏輯a.簡單說就是每次方法總會(huì)返回下一次運(yùn)行的條件 中間沒有緩存 目的為了更好的去理解框架本省
b.所有的注解都是和spring 一致方便理解 也方便你理解源碼
c.發(fā)現(xiàn)沒有好多方法都是Load.XXYY() 是的這也是考慮的一個(gè)方面
3.為了方便代碼邏輯清晰后期會(huì)定期增加注釋
下面是目錄結(jié)構(gòu)
1.目錄設(shè)計(jì)還是便于理解
目錄結(jié)構(gòu)說明
1.annotation 是所有的注解(你熟悉的味道)
2.aop 包括了切面必備的類(盡量簡化 按需升級)
3.container 容器的實(shí)現(xiàn)(主要是netty 實(shí)現(xiàn) 后期可以使用其他實(shí)現(xiàn) 比如Tomcat)
先上地址 如若有興趣 在更新
https://gitee.com/hihuzi/hioove-cloud.git
謝謝 是不是真的沒有發(fā)現(xiàn) if