原创 Springboot 自動裝配原理--淺析

首先 來看下SpringBoot的啓動類上註解 @SpringBootApplication     public @interface SpringBootApplication { @AliasFor(annotation =

原创 淺談 SpringBean的初始化之 Bean創建準備 ---主線邏輯 ( 三 )

在上一章節從緩存中獲取單例 進行了簡單的分析,如果緩存中沒有已經加載的bean 就得從頭開始bean的加載過程了,而如下方法實現了bean的加載過程。 public Object getSingleton(String beanName,

原创 淺談 SpringBean的初始化----主線邏輯 ( 一 )

在分析Spring Bean 初始化之前,先來到 DefaultSingletonBeanRegistry 查看三個cache混個眼熟。 /** Cache of singleton objects: bean name to be

原创 利用java8 中 lambda 方法引用獲取字段屬性

一 背景:    在公司開發過程中,項目中集成了一個mybatis框架tk.mybatis,然後看到用到一些api進行數據查詢如:   Example example = new Example(XXDO.class);

原创 淺談 SpringBean的初始化之緩存中獲取單例---主線邏輯 ( 二 )

    上一篇文章Spring Bean的初始化 主線邏輯 (一)主要簡單的描述了getBean的大致流程。接下來 主要分析doGetBean中的重要方法。      首先 對 Object sharedInstance = getSin

原创 SpringBoot之採用外置容器配置

背景: SpringBoot默認打包方式爲jar,且使用內置tomcat或者jetty容器。因爲內嵌的tomcat原因導致運維或者開發會難/不靈活對內嵌tomcat調優、配置參數,所有目前還是有些公司會選擇將SpringBoot的打包形式

原创 程序員的數學1 之十進制轉2進制

方法一 :直接利用jdk的BigInteger操作 public static String decimalToBinary(int decimalSource) { BigInteger bi = new BigI