Spring學習筆記 使用 1

2021-09-14 07:00:46 字數 2412 閱讀 5372

1、bean的定義

a6

id:bean在spring中管理時的id,在按名稱獲取bean時需要使用。

ref:引用其他bean

給bean裡的屬性賦值的兩方法:

(1)使用setter(用property,注意這個地方的name不是屬性名,而是setter方法的名字)(呼叫無參構造器建立物件)

(2)使用構造器(用constructor-arg)

2、bean的使用

//按型別獲取,要求唯一

car car = cnt.getbean(car.class);

system.out.println(car.tostring());

//按名稱獲取

person robin = (person)cnt.getbean("robin");

system.out.println(robin.tostring());

3、內部bean:

在bean的內部還可以定義bean,但其作用域僅限於當前bean

4、bean之間的關係:

繼承關係(使用parent關鍵字),子bean會繼承父bean的所有屬性值,子bean可以重寫繼承的屬性值。

abstract:預設為false,表示是否是模板bean,模板bean不能被例項化,也就是說不會建立模板bean的物件。

scope:控制物件的生成方式(prototype:原型模式,每次獲取bean都會單獨建立乙個物件。singleton:單例模式,只建立乙個bean,每次獲取的都是同乙個bean的引用)

5、自動裝配

autowire:自動裝配的關鍵字,可選擇bytype(按型別)和byname(按名稱)

自動裝配是指,類中的某一屬性裡是物件時,在建立該類的bean時,會自動引用該屬性對應的bean

6、使用外部屬性檔案

1、需要引入命名空間context,並在配置檔案中使用context:property-placeholder來制定屬性檔案的位置

2、使用$符號來提取屬性檔案中的值

7、bean的生命週期

(1)通過構造器或者工廠方法建立bean例項

(2)為bean的屬性進行賦值

(3)呼叫bean後置處理器的postprocessorbeforeinitialization方法

(4)初始化方法(通過init-method關鍵字配置)

(5)呼叫bean後置處理器的postprocessorafterinitialization方法

(6)使用bean

(7)ioc容器關閉時,銷毀bean(通過destroy-method關鍵字配置)

注意:如果要使用bean的後置處理器,需要實現beanpostprocessor介面。

8、工廠方法建立bean

1、需要先建立工廠類和工廠方法。(靜態工廠方法、例項工廠方法)

靜態工廠方法:工廠類裡包含乙個靜態屬性,通過靜態工廠方法獲取產品。

配置時不需為工廠方法建立bean,只需將class指定為工廠類的類名,factory-method需要指明工廠方法,系統會自動識別並獲取產品,為產品建立乙個bean。

例項工廠方法:沒有靜態屬性,要獲取產品需要先建立工廠例項,然後呼叫工廠方法獲取產品。

配置時需要先建立工廠類的bean,然後建立產品(不需制定class)bean,factory-bean指明工廠bean,factory-method需要指明工廠方法。

9、factorybean的方法來建立bean

需要先實現factorybean介面,然後配置的時候直接建立產品的bean,但是class需要指向factorybean的實現類,系統會自動識別並呼叫factorybean的getobject方法,返回產品bean。(注意,這裡的屬性配置的是factorybean的屬性,並不是產品的屬性)

1、執行是動態給bean賦值的表示式語言。使用#作為界定符。

100 ? 'good' : 'normal'}">

<?xml version="1.0" encoding="utf-8"?>

spring學習筆記1

所謂依賴注入 就是 這個物件所依賴的其它屬性由spring自動幫我們設定好 spring所倡導的是面向介面的程式設計 人要工作要依賴於工具 要想辦法將工具set進去 property 表示 這個類裡面的成員變數 並將其賦值 ref表示之前已經定義好的bean的id 可以將toola注入到chines...

Spring 學習筆記 1

1.的一些屬性 1 default lazy init 其值可以為true或者false,預設為false 用來標誌是否為所有的bean進行延遲初始化。延遲初始化 因為這樣在配置中的任何錯誤就會即刻被發現 否則的話可能要花幾個小時甚至幾天 有時候這種預設處理可能並不是 在xml配置檔案中,實現spr...

Spring學習筆記(1)

一 什麼是框架?軟體框架指的是為了實現某個業界標準或完成特定基本任務的軟體元件規範,也指為了實現某個軟體元件規範時,提供其所要求的基礎功能的軟體產品 二 框架的特點 1 半成品 2 封裝了特定的處理流程和控制邏輯 3 成熟的,不斷公升級改進的軟體 三 框架與類庫的區別 1 框架一般是封裝了邏輯 高內...