當在spring配置中增加時,我們希望spring特殊對待我們所定義的bean裡的某一組註解,並使用這些註解指導bean裝配。即使有助於完全消除spring配置中的和元素,我們仍需要使用元素顯示定義bean。
但是spring還有另一種技巧。元素除了完成與一樣的工作,還允許spring自動檢測bean和定義bean,這意味著bean不使用元素,spring應用中的大多數bean都能夠實現定義和裝配。
為了配置spring自動檢測,需要使用元素來代替元素。base-package屬性標識了元素所掃瞄的包。
。為自動檢測標註bean
預設情況下,查詢使用構造型(stereotype)註解所標註的類,這些特殊的註解如下。
@component-通用的構造型註解,標識該類為spring的元件,
@controller-標識將該類定義為 spring mvc controller.
@repository-標識將該類定義為資料倉儲。
@service-標示將該類定義為服務。
使用@component標註的任意自定義註解。
例如,假設我們的應用上下文中僅僅包含eddie和guitar兩個bean。可以配置元素並使用@component註解標註instrumentalist和guitar類,從而消除顯示的定義。
package com.springinaction.springidol;
@component
public class guitar implements instrument{
spring掃瞄com.springinaction.springidol包時,會發現使用@component註解所標註的guitar,並自動地將 他註冊為spring bean.bean的id預設為無限定類名。在這種情景下,guitar bean的id為guitar.
package com.springinaction.springidol;
@component("eddie")
public class instrumentalist implements performer{
在這種場景下,我們指定了乙個bean id作為@component註解的引數。該bean的id不會像上乙個示例中那樣預設設定為類的名稱"instrumentalist",而是顯示命名為eddie。
當使用時,基於註解地自動檢測只是一種掃瞄策略。
spring實戰五之Bean的自動檢測
在spring實戰四中,使用在spring中增加的方式告訴spring,我們打算使用基於註解的自動裝配,希望spring特殊對待我們所定義的bean裡的某一組註解,並使用這些註解指導bean的裝配。即使 有助於完全消除spring配置中的 和元素,我們仍然需要使用元素顯示定義bean。而在另一方面,...
Spring學習筆記 自動檢測
要使用自動檢測,我們需要用到標籤。元素除了完成與一樣的工作,還允許spring自動檢測bean和定義bean。此時我們只需要很少量的 來完成配置 xml version 1.0 encoding utf 8 beans xmlns xmlns xsi xmlns context xsi schema...
shell自動檢測
列印選單,讓使用者選擇,並根據選擇執行操作 如果使用者選擇的是a,顯示cpu資訊 如果使用者選擇的是b,顯示記憶體資訊 如果使用者選擇的是c,執行緒磁碟資訊 如果使用者選擇的是d,顯示網路io資訊 使用者使用者選擇的是e,退出系統 如果使用者選擇成其他選擇,提示輸入錯誤,讓使用者重新選擇 bin b...