Jboot 是一個基於 JFinal、JFinal-Undertow、Dubbo、Seata、Sentinel、ShardingSphere、Nacos 等開發的微服務框架,幫助開發者降低微服務開發門檻。同時完美支援在 idea、eclipse 下多 maven 模組,對 java 程式碼、html、css、js 等資原始檔進行熱載入。爽爽開發,快樂生活。
在 Jboot v3.3.4 中,Jboot 新增了 JbootActionReporter 用於代替 JFinal 的 ActionReporter ,方便的對 Controller (包括攔截器)方法進行定位,如下圖:
當有這個功能以後,我們點選此 控制檯 連結,可以直接跳轉到對應的方法,這樣我們在開發的時候,更加方便我們對請求資訊進行快速定位,更加急速的開發。
但是,在很多場景下,我們需要知道這個請求需要執行的時間,這樣更加方便我們對問題進行定位,因此,我們繼續增加了某個請求需要時間的列印,如下圖:
在以上的截圖中,IndexController 有 5 個攔截器,但是很多時候,並不是所有攔截器都會被執行,可能只有 一兩個 個攔截器被執行了,其他攔截器並沒有執行到,在之前的方案裡,透過控制檯的日誌,並不會知道哪些攔截器被執行了,哪些沒有被執行。
所以,Jboot v3.3.6 提供了一個功能,如果當前的攔截器沒有被執行到,那麼就在日誌裡輸出出來。
如下圖所示:
這樣,我們能夠看到,當我們訪問 /admin 的時候,實際上只執行了 3 個攔截器,第 4 和 第 5 個攔截器並未被執行,就跳轉到了 /admin/login 了,同時透過日誌,我們也能分析出來:跳轉到 /admin/login 的這個行為,是最後一個攔截器 AdminInterceptor 執行的。
目前已經開源超過了 3 年的時間,迭代了 100+ 個版本,已經被超過 1000+ 公司在使用。
Jboot 主要有以下特徵:
Jboot v3.3.6 更新內容如下:
maven 依賴:
<dependency>
<groupId>io.jboot</groupId>
<artifactId>jboot</artifactId>
<version>3.3.6</version>
</dependency>
Hello World:
@RequestMapping("/")
public class HelloworldController extends JbootController {
public void index(){
renderText("hello world");
}
public static void main(String[] args){
JbootApplication.run(args);
}
[admin
]