原创 MyBatis源碼筆記(六) -- 解析SQL語句節點封裝爲MappedStatement

MyBatis解析XML的SQL語句節點或註解@Select等,最終會封裝成MappedStatement對象,存進configuration裏,本篇分析XML解析方式 從XMLMapperBuilder類的buildStatem

原创 MyBatis源碼筆記(五) -- 節點解析

MyBatis會把XML文件中的節點解析封裝成ResultMap,供結果映射使用 從XMLMapperBuilder類的resultMapElements方法看起 private void resultMapElements(Li

原创 Spring component-scan源碼分析(一) -- XML解析

在XML中配置component-scan通常如下 <context:component-scan base-package="xxx"> <context:exclude-filter type="annotation"

原创 SpringBoot集成flowable6.5的事件註冊引擎後rabbitmq消費者不自動開啓問題

目錄背景問題問題跟蹤解決方案 背景 flowable6.5後新增了事件註冊引擎,對JMS,Apache Kafka和RabbitMQ具有開箱即用的支持。如果想支持其他的消息中間件也可通過添加自己的適配器來實現。 問題 Spring

原创 SpringMVC請求流程詳解(轉)

(一)整體流程 具體步驟: 1、 首先用戶發送請求到前端控制器,前端控制器根據請求信息(如 URL)來決定選擇哪一個頁面控制器進行處理並把請求委託給它,即以前的控制器的控制邏輯部分;圖中的 1、2 步驟; 2、 頁面控制器接

原创 SpringBoot+Docker快速集成ELK

目錄一、Docker安裝ELK二、SpringBoot中發送日誌到logstash三、訪問 http://localhost:5601/查看Kibana 一、Docker安裝ELK 在Docker運行ELK後,最終文件結構如下

原创 MyBatis源碼筆記(一) -- 大致流程

測試代碼如下: //獲得資源文件流mybatis-config.xml Reader reader = Resources.getResourceAsReader("mybatis-config.xml"); //創建SqlSes

原创 SpringBoot 啓動流程源碼筆記

springboot啓動一個項目代碼例子如下 SpringApplication.run(xxxx.class, args); 跟蹤進去如下 public static ConfigurableApplicationConte

原创 MySQL InnoDB存儲引擎 之 事務

1 事務特性 InnoDB的事務完全符合ACID特性: 原子性:事務包含的所有操作要麼全部成功,要麼全部失敗回滾;成功必須要完全應用到數據庫,失敗則不能對數據庫產生影響; 一致性:事務執行前和執行後必須處於一致性狀態; 隔離性:

原创 本地用docker快速搭建RocketMQ

本文旨在本地電腦使用docker快速搭建RocketMQ環境,用於調試,需要對docker有一定的認識。 摘要基本流程拉取rocketmq鏡像配置文件- broker配置文件- stack.yml快速啓動訪問控制檯參考文章 基

原创 ThreadLocal用法及原理

與Synchonized的對照: ThreadLocal和Synchonized都用於解決多線程併發訪問。可是ThreadLocal與synchronized有本質的差別。synchronized是利用鎖的機制,使變量或代碼塊在某一

原创 shiro源碼分析(一)--大致流程

去GitHub搜索shiro,克隆源碼,然後會看到裏面有samples模塊,先從quickstart看起 一、例子源碼 首先是配置文件shiro.ini [users] root = secret, admin guest = gue

原创 shiro源碼分析(二)-- 註解實現原理

shiro的註解實現藉助於aspectj框架,先通過一個例子熟悉下aspectj用法 一、小demo 先在pom.xml文件添加相關依賴 <!--aspectj依賴--> <dependency>

原创 HashMap的紅黑樹實現源碼分析

PS: 最近看了jdk的TreeMap、HashMap的紅黑樹代碼,就動手用java實現了二叉樹的數據結構,做了泛型封裝,代碼有註釋,下載地址: 紅黑樹、二叉平衡樹、二叉排序樹的java實現 效果大致如下: 相關文章:HashM

原创 ConcurrentHashMap源碼分析

public class ConcurrentHashMap<K,V> extends AbstractMap<K,V> implements ConcurrentMap<K,V>, Serializable { 一些成員