由spring管理的所有物件都稱之為bean.,自己建立的類
假如需要由spring管理,首先對這個類進行配置方式
1)基於xml進行配置:需要在spring的核心配置檔案中使用bean標籤對bean型別進行宣告,借助id或name屬性指定的bean的乙個標識.通過class屬性指定bean的具體型別(必須寫全類名);
2)基於註解進行配置(內容較多,後期會整理)
spring 中bean物件的構建,提供了如下幾種方式:
1) 直接通過構造方法
2) 通過類的靜態工廠方法(例如calendar的getinstance方法)
3) 通過例項的例項方法構建物件(例如通過calendar物件的gettime方法獲取data物件)
在spring容器中管理的bean物件,可以在宣告時通過scope屬性或
相關註解指定其作用域,最常用是singleton,prototype.其含義如下
1) singleton (這個作用域標識的物件具備全域性唯一性):系統預設
2) prototype(這個作用域標識的物件每次獲取都會建立新的物件)
在spring框架應用中,所有的的bean物件都有生命週期,所謂bean
物件的生命週期是指bean物件的建立,初始化,服務,銷毀的這個過程.
在spring配置檔案中可以通過init-method,destory-method屬性指定bean的生命週期方法.例如:
<
beanid=
"helloservice"
class
="beans.helloservice"
scope
="prototype"
init-method
="init"
destroy-method
="destory"
/>
在spring應用由spring建立的物件是否由spring銷毀,還取決於bean物件的作用域的配置.例如
1) singleton作用域的物件可以在容器關閉時銷毀
2) prototype作用域的物件可以由容器建立物件,初始化物件,但不負責銷毀.
在spring框架應用,容器初始化時候,缺省會構建所有由spring管理的bean物件.
但假如這些物件長時間不使用還占用著記憶體就會造成一定的資源浪費.為了解決
這個問題,spring中提供了一種延遲載入機制.通過這種機制來提高系統資源的有效使用.
spring中的延遲載入需要通過bean元素中lazy-init屬性或beans元素的default-lazy-init="true"屬性進行設定.兩者應用的不同點:
1) lazy-init: 應用在bean標籤中用於指定這個bean的載入策略.
2) default-lazy-init:應用在beans標籤中用於指定所有bean的載入策略.
實際專案會存在很多個bean物件,這些物件之間會存在一定依賴關係,當某個bean物件依賴於其它bean物件,可以通過spring按照一定的規則(例如按型別或者按名字),進行依賴查詢然後進行值的注入。在spring中對bean屬性賦值的過程我們稱之為依賴注入。注入值的方式有兩種,set注入和構造注入。set注入式通過物件的set方法為物件屬性賦值,構造注入為通過bean物件的構造方法為屬性注入值.
spring 應用中還可以按照一定規則自動為物件屬性注入值,此機制實現的可以借助bean標籤中的autowire屬性進行配置.
1) default : 不執行自動裝配(預設)
2) byname: 按屬性名對應的set方法名進行自動裝配
3) bytype:按屬性型別對應的set方法相關引數型別進行裝配
4) constructor:按構造方法引數型別進行裝配
Tomcat的基本應用
1 測試tomcat 啟動tomcat 在瀏覽器中輸入 2 tomcat的管理 tomcat 的服務管理頁面是 的應用程式管理頁面 3 發布應用程式 jsp應用程式 war有二種方式,一種是按一定的目錄結構組織檔案,一種是乙個字尾為 war的壓縮包,因此它的部署方式也有兩種 1 在瀏覽器中輸入 就會...
QTreeWidget的基本應用
基於qt 4.8.4,vs2010 官方文件 qtreewidget控制項用於顯示樹形結構。在程式中使用它,需要做兩件事 1.定義事件和響應函式 2.樹結構資料的輸入輸出 1.定義事件和響應函式 在ui編輯器中建立乙個qtreewidget控制項,在 訊號 槽編輯器 中為控制項新增訊號 接收者 槽。...
陣列的基本應用
陣列 是一組相關資料的集合,乙個陣列實際上就是一連串的變數,陣列按照使用可以分為一維陣列 二維陣列 多維陣列。一維陣列 儲存相同資料型別的資料集合。宣告 常用 a arr null 少用 a arr null.定義 動態 arr new a length 靜態常用 arr 靜態少用 arr new ...