注意構造器例項化(最常用)
靜態工廠方式例項化
例項工廠方式例項化
singleton(單例):始終使用的同乙個物件 (預設)
prototype(原型):,每次都是乙個新的bean例項
request
session
globalsession
websocket
init-method屬性
用於指定bean類中的初始化方法的名稱,該方法會在bean例項建立之後被執行
【相當於servlet的init()方法】
destroy-method屬性
用於指定bean類中的銷毀方法的名稱,該方法會在ioc容器關閉時,bean例項銷毀之前被執行
【相當於servlet的destroy()方法】
【注意】必須設定 scope=「singleton」,銷毀方法才能生效
基於xml的裝配
-設值注入
滿足條件:1.bean必須有乙個無參構造方法2.必須提供setter方法
使用 為屬性注入值
-構造注入
滿足條件:bean必須提供有參構造方法
使用來為引數注入值
基於註解(annotation)的裝配 (最常用)
自動裝配
註解自動注入
新增註解自動掃瞄包
@controller …
作用域註解:@scope(value=「singleton|prototype」)
初始化方法註解:@postconstruct
銷毀方法註解:@predestory
簡單型別的引數:@value《無需提供set方法》
引用型別的引數:@autowired 通過型別 可以與@qualifer註解搭配 按照名稱匹配
@resource 預設按照名稱,也可以按照型別
集合資料型別無法使用註解注入,只能通過xml配置實現
bean標籤的id屬性和name屬性的區別
id和name都可以取出bean,但是id屬性用來唯一標識bean,id的屬性值不可重複
name的屬性值可以有多個,用逗號隔開,並可能和其他bean重名
使用beanfactory根介面建立spring ioc容器時,bean物件使用延遲載入方式,只有真正呼叫getbean()方法時,才真正建立bean物件
ioc容器建立bean例項的執行流程 重點
建立ioc容器時,解析配置檔案,獲取每乙個標籤的class屬性(bean的完整類名),通過反射呼叫class.forname(「完整類名」).newinstance()方法建立bean物件(呼叫無參的構造方法),並將標籤的id屬性作為key,物件作為value,儲存在ioc容器內部的乙個map中
呼叫getbean()方法時,ioc容器根據方法中指定的bean的id屬性值,查詢map中是否存在對應的key,如果存在,則直接將此key對應的bean物件返回
spring管理的類如何呼叫非spring管理的類
spring管理的類如何呼叫非spring管理的類.就是使用乙個spring提供的感知概念,在容器啟動的時候,注入上下文即可.下面是乙個工具類.1 import org.springframework.beans.bean ception 2import 3import 4import org.sp...
Spring基礎框架三 深入理解SpringMVC
spring mvc屬於springframework的後續產品,spring mvc框架提供了構建web應用程式的全功能mvc模組,是一種輕量級web框架。使用了mvc架構模式的思想,通過把model,view,controller分離,將web層進行職責解耦,把複雜的web應用分成邏輯清晰的幾部...
SpringMVC學習筆記之與Spring的關係
需要進行 spring 整合 springmvc 嗎 還是否需要再加入 spring 的 ioc 容器嗎 是否需要再 web.xml 檔案中配置啟動 spring ioc 容器 contextloaderlistener 嗎 需要 通常情況下,類似於資料來源 事務 整合其它框架都是放在spring ...