原创 提煉spring核心代碼,如果仿寫源碼不是爲了裝逼,那將毫無意義

代碼託管到github 仿寫目的主要還是站在設計者角度,減輕開發人員繁瑣配置,讓他們專注於業務 https://github.com/neo0116/my-spring-framework.git 有IOC,DI , MVC ,

原创 Netty源碼分析(二)--- Server端啓動流程

一、Netty-Server端啓動流程 從ServerBootstrap的bind方法開始: initAndRegister();方法 //1. 綁定端口 public ChannelFuture bind(SocketAdd

原创 300行代碼提煉Spring核心原理(超級乞丐版)

1、項目結構 2、自定義註解 @BDController @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) public @interface B

原创 Docker核心(二)

一、什麼是Image image是由一層層的layer構成 image是read-only 看看官方提供tomcat的image image就是一個Dockerfile,分析一下Dockerfile的語法 FROM: 指定

原创 Mybatis整合Spring實現Mapper自動注入原理

通過Spring的擴展點,實現bean的管理 + 封裝Template方法 一、Bean的管理 在引入mybatis-spring.jar後,我們需要在applicationContext.xml中配置 SqlSessionF

原创 Docker網絡(三)

一、計算機網絡模型 二、Linux中網卡 查看網卡詳情命令:ip link show 查詢網卡:ls /sys/class/net 查看ip信息: ip a 狀態 UP/DOWN/UNKNOW lin

原创 Maven簡要概述

pom文件部分內容:主要構成是 基礎部分:描述本包的依賴座標:,type多爲pom和jar,pom是文件,沒有具體內容,jar包是有類的 父類:parent:用來指定一個父類,只能是pom類型,所有在父類配置的內容,子類都會擁

原创 初識Kubernetes(一)

一、Kubernetes組件與架構圖 Pod:k8s中最小操作單位,一個或多個container的組合 ReplicaSet:k8s中通過selector管理Pod的組件 Deployment: k8s中管理ReplicaS

原创 Mybatis緩存分析

一、mybatis四個核心對象的生命週期 SqlSessionFactoryBuilder:只用一次 存在於方法體中,用於解析配置文件,構建SqlSessionFactory SqlSessionFactory:全局單例 存在整

原创 Mybatis插件的使用

插件執行時序圖 鏈接: 時序圖. 插件能幹的事 sql執行日誌 sql執行效率插件 根據條件水平分表查詢(方法上加註解) 權限控制 數據庫敏感信息加密

原创 Mybatis時序圖

一、創建SqlSessionFactory 時序圖: 鏈接: 創建SqlSessionFactory. 二、創建SqlSession 時序圖: 鏈接: 創建SqlSession. 三、創建Mapper代理對象 時序圖: 鏈接: 創

原创 Mybatis的動態sql、懶加載

一、 動態sql if標籤:滿足某某條件 <select id="findActiveBlogLike" resultType="Blog"> SELECT * FROM BLOG WHERE state = ‘ACTIV

原创 cglib動態代理--簡單原理

1、cglib動態代理 引入cglib.jar+asm.jar包。不同於JDK動態代理,cglib代理是通過繼承方式實現的(方法不能是final修飾的) 創建代理類: /** * @ClassName Sweethear

原创 仿寫JDK動態代理

仿寫JDK動態代理單純就是理解下JDK動態代理生成源碼1、JDK動態代理2、仿寫JDK動態代理 單純就是理解下JDK動態代理生成源碼 1、JDK動態代理 JDK動態代理必須實現接口 接口: /** * @Descript

原创 Netty源碼分析(四)--- NioEventLoop如何讀取消息

一、NioEventLoop工作過程 貼一段Netty Server端和Client端的demo //1. Server端 public class NettyServerTest { public static v