React總結一(JSX)
阿新 • • 發佈:2020-12-23
一、啟動分析
SpringBoot工程中由@SpringBootApplication註釋描述的類為啟動入口
1 package com.cy; 2 3 import org.springframework.boot.SpringApplication; 4 import org.springframework.boot.autoconfigure.SpringBootApplication; 5 6 @SpringBootApplication 7 public class CacheApplication { 8 9 public static voidView Codemain(String[] args) { 10 SpringApplication.run(CacheApplication.class, args); 11 } 12 13 }
SpringBoot工程啟動時其簡易初始化過程,如圖:
在啟動過程中底層做了哪些事情,大致描述如下:
1)基於配置載入類(通過ClassLoader將指定位置的類讀到記憶體->底層通過執行緒呼叫IO從磁碟讀取到記憶體)。
2)對類進行分析(建立位元組碼物件-Class型別,通過反射獲取器配置資訊)。
3)對於指定配置(例如由spring特定註解描述)的物件儲存其配置資訊(藉助BeanDefinition物件儲存)。
4)基於BeanDefinition物件中class的配置構建類的例項(Bean物件),並進行bean物件的管理(可能會儲存到bean池)。
二、API設計分析
基於業務描述,進行API及關係設計,如圖所示:
1、定義DefaultCache類
1 package com.cy.pj.common.cache; 2 import org.springframework.stereotype.Component; 3 /** 4 * @Component 註解描述的類,表示此類交給Spring框架管理。 5 */ 6 @Component 7 public class DefaultCache { 8 }View Code
2、定義DefaultCacheTests單元測試類
1 package com.cy.pj.common.cache;View Code2 import org.junit.jupiter.api.Test; 3 import org.springframework.beans.factory.annotation.Autowired; 4 @SpringBootTest 5 public class DefaultCacheTests { 6 /** 7 * @Autowired 註解描述的屬性由spring框架按照一定規則為其注入值(賦值) 8 */ @Autowired 9 private DefaultCache defaultCache; 10 @Test 11 void testDefaultCache(){ 12 System.out.println(defaultCache.toString()); 13 //defaultCache變數引用的物件是由spring框架建立的,儲存到了bean pool 14 } 15 }