1. 程式人生 > 其它 >VSCode外掛 REST Client

VSCode外掛 REST Client

一、啟動分析

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 void
main(String[] args) { 10 SpringApplication.run(CacheApplication.class, args); 11 } 12 13 }
View Code

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;
2 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 }
View Code

3、執行單元測試類