1.1)類的位置(必須放在啟動類所在包以及子包)
1.2)類的描述(使用@component註解)
2 )需要此物件的地方可從spring的bean池中獲取
思考:
1)如何判定乙個物件在何時建立? (日誌,斷點)
2)spring容器中的bean物件預設在啟動時建立,但長時間又不使用這個物件,
你覺得先把物件建立出來好嗎?(不好,佔記憶體資源,由其是一些大物件)
3)spring容器中的bean物件假如不希望在容器啟動時進行建立,該如何設計呢?(延遲載入)
@bean:描述的方法會將返回值放入bean池,描述的類直接回放到bean池
@bean註解通常會應用在一些配置類(由@configuration註解描述)中,用於描述
具備返回值的方法,然後系統底層會通過反射呼叫其方法,獲取物件基於作用域將物件
進行儲存或應用。i
@bean應用場景:第三方資源的整合及配置
@lazy(value=true or false)
:描述類,延遲載入,(不希望啟動時建立物件),value不寫時預設為true,
true
表示此物件要延遲構建及初始化,false
為實時載入(和沒有寫這個註解是一樣的效果)
@component
:描述類
@scope
:描述類時用於指定類例項的作用域,常用取值:
1)singleton
(預設為單例作用域-類的例項在- - 個jvm記憶體中其實例只有乙份,通常配合lazy使用,一般可重用物件使用).
2)prototype
(多 例作用域-此作用域物件為何時需要何時建立,spring框架不負責銷毀,不可重用或只使用一次的物件)
@postconstruct
此註解描述的方法為生命週期初始化方法
在這樣的方法中一般會為建立好的物件再此進行一些初始化.
@predestroy
此註解描述的方法為生命週期銷毀方法,此方法會在物件銷毀之前執行.
在這樣的方法中可以實現一些,資源銷毀操作,destray()
SpringBoot bean無法注入
description field userp in com.springboot.controller.usercontroller required a bean of type com.springboot.model.userproperties that could not be foun...
spring boot bean 的管理過程
從磁碟中讀取 class檔案 放到map存放配置資訊的map中 需要時通過bean的名,從bean配置資訊容器中找到相應的配置資訊建立物件 當需要此物件時,bean例項容器中沒有時 會到配置資訊的map中找是否有此類的配置資訊 有就直接根據配置資訊建立物件放到bean例項池中 如果沒有則會丟擲nos...
對建立游標對理解
步驟 1 首先經過底層的 編寫已經建立起了了python和資料庫之間的溝通橋梁並封裝成了模組,通過pymysql下的conntent 方法與之建立起了連線,例項物件。pymysql.connect 方法返回的是connections模組下的connection 例項,connect 方法傳參就是在給...