spring從頭開始,筆記

2021-08-27 22:55:27 字數 2132 閱讀 3728

2016-3-11

spring是個輕量級框架,可以簡發web開發步驟,可以替代傳統的ejb技術。

ioc容器:inversion of control;

通過反射的方式在ioc容器中建立bean,所以要求bean必須有無參的建構函式

autowire(自動裝配),byname(按照bean名字和setname屬性查詢),bytype(按照bean型別查詢)

bean的作用域:scope

1.singleton(預設)只建立一次例項。

2.prototype每次請求都建立例項。

spring spel

spring 表示式語言(簡稱spel):是乙個支援執行時查詢和操作物件圖的強大的表示式語言。

語法類似於 el:spel 使用 # 作為定界符,所有在大框號中的字元都將被認為是 spel

spel 為 bean 的屬性進行動態賦值提供了便利

通過 spel 可以實現:

通過 bean 的 id 對 bean 進行引用

呼叫方法以及引用物件中的屬性

計算表示式的值

正規表示式的匹配

字面量的表示:

整數:string 可以使用單引號或者雙引號作為字串的定界符號:或

bean的生命週期

factory-bean="ca***ctory" factory-method="instancefactory">

實現factorybean介面

public class ca***ctorybean implements factorybean

@override

public car getobject() throws exception

@override

public classgetobjecttype()

@override

public boolean issingleton()

}

(配置bean形式基於註解方式)

spring特定元件:@component、@controller、@service、@repository

對於掃瞄到的元件, spring 有預設的命名策略: 使用非限定類名, 第乙個字母小寫. 也可以在註解中通過 value 屬性值標識元件的名稱

當在元件類上使用了特定的註解之後, 還需要在 spring 的配置檔案中宣告 :

base-package 屬性指定乙個需要掃瞄的基類包,spring 容器將會掃瞄這個基類包裡及其子包中的所有類. 

當需要掃瞄多個包時, 可以使用逗號分隔.

如果僅希望掃瞄特定的類而非基包下的所有類,可使用 resource-pattern 屬性過濾特定的類,示例:

resource-pattern="repository/*.class">

子節點表示要包含的目標類

子節點表示要排除在外的目標類

下可以擁有若干個 和 子節點

和 子節點支援多種型別的過濾表示式:

類別:annotaion  (常用)

示例:com.t.***annotation 

說明:所有標註了***annotation的類。該型別採用目標類是否標註了某個註解進行過濾

類別:assignable  (常用)

示例:com.t.***service 

說明:所有繼承或擴充套件***service的類。該型別採用目標類是否繼承或擴充套件某個特定類進行過濾

類別:aspectj

示例:com.t..*service+

說明:所有類名以service結束的類及繼承或擴充套件它們的類。該型別採用aspejctj表示式進行過濾

類別:regex

示例:com.\t\.anno\..*

說明:所有com.t.anno包下的類。該型別採用正規表示式根據類的類名進行過濾

類別:custom

示例:com.t.***typefilter

說明:採用***typefilter通過**的方式定義過濾規則。該類必須實現org.springframework.core.type.typefilter介面

元件掃瞄

type=annotation

-->

-->

type=assignable

Deep Learning 從頭開始

deep learning已經火了好久,有些人已經在這裡面耕耘了好多年,而有些人才剛剛開始,比如本人。如何才能快速地進入這個領域在較短的時間內掌握deep learning最新的技術是值得思考的問題。就目前的情況看,通過網路上的課程及各種tutorials以及各種 來研究這個領域是最佳的途徑。經過一...

git從頭開始

當你本地修改了乙個檔案,而且該檔案被另乙個人修改,並push了,那麼 users terry workspace git練習 git practise git master git pull updating 67e4e18.cdbf666 error your local changes to t...

English 從頭開始

我們有好多事情都不能重新開始,比如我們的人生你沒有辦法把自己在塞回媽媽的肚子裡吧?比如我們的時間在此時此刻只有這乙個時間,全世界不會再有第二個。比如我們後悔的事情.雖然有很多我們無法改變的事情存在,但也有許多我們可以改變的事情。雖然我們沒有辦法從一歲開始重新開始,但我們可以掌握自己的人生,做自己想做...