SpringBoot入門及其分析

NPE空指針異常,空對象調用方法
補git流程圖~~~~!imagejava

一項目結構目錄分析

main java存放業務代碼
resources存放資源配置文件
test存放測試單元
pom文件存放項目的依賴和modulegit

spring註解

@Component//此註解用於描述spring管理通常的組件
@SpringBootTest//此註解描述的類爲springboot工程的 單元測試類
@Autowired//告訴spring請安指定規則爲此屬性複製
@Lazy延遲加載(按需加載)只有被須要時才被建立,和單例配合使用
@PostConstruct 生命週期初始化方法,在對象構建之後執行.
@PreDestroy 生命週期銷燬方法,此方法所在的對象,假如存儲到了spring容器,那這個對象在從spring容器移除以前會先執行這個生命週期銷燬方法(prototype做用域對象不執行此方法)
@Autowired由spring框架定義,用於描述類中屬性或相關方法(例如構造方法)
@Qualifier註解對其屬性或參數進行描述(此註解必須配合@Autowired註解使用)。spring

做用域

@Scope默認就是單例(singleton)做用域,這個做用域會配合延遲加載(@Lazy)特性使用,表示此類的實例在須要時能夠建立一份而且將其存儲到spring的容器中(Bean池),須要的時候從池中取,以實現對象的可重用。假如一些對象應用次數很是少,能夠考慮不放入池中,進而使用@Scope("prototype")做用域對類進行描述,讓此類的對象什麼時候須要什麼時候建立,用完之後,當此對象不可達,則能夠直接被GC系統銷燬。

生命週期

對象建立,初始化,應用,銷燬的這個過程數組

生命週期方法

在對象建立之後要初始化,應用完成之後要銷燬時執行的一些方法springboot

對象池特色

1)在JVM內存會開闢一塊相對比較大的空間。
2)在這塊空間中存儲一些對象(思考基於什麼存儲結構;進行存儲-數組,鏈表,散列表)。
3)基於「享元模式」設計思想,實現內存中對象的可重用性。
相關文章
相關標籤/搜索