spring boot bean物件及註解

2022-09-07 11:33:11 字數 1169 閱讀 1567

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 方法傳參就是在給...