使用@configuration註解來標註的類為配置類,配置類就相當於配置檔案,可以在配置類中來配置bean
@configuration
public
class
mainconfig
}
bean
使用@bean來標註方法以此來進行bean的例項化,bean的型別是返回型別,bean的id預設是方法名稱,可以使用@bean註解來自定義bean的id以及初始化方法、銷毀方法
public @inte***ce
bean
;@aliasfor
("value"
) string[
]name()
default
; autowire autowire()
default autowire.no;
string initmethod()
default"";
string destroymethod()
default
"(inferred)"
;}
bean的作用域@scope
可以在生成bean的方法上使用@scope來指定bean的作用域
懶載入@lazy
對於單例bean預設是在容器啟動的時候載入,可以使用懶載入來使其第一次呼叫時在進行載入
在生成bean的方法上使用@lazy來使用來載入
bean的條件註冊@conditional
@conditional可以標註在類上,也可以標註在方法上,
public @inte***ce
conditional
可以自定義condition,需要實現condition介面
@primary
如果存在多個相同型別的bean,可以使用@primary註解來標註bean,使得該bean為預設獲取到的bean
工廠bean
可以使用factorybean來使用工廠bean來例項化bean,此時使用personfactorybean來獲取到的是person的例項
@bean
public personfactorybean personfactorybean()
public
class
personfactorybean
implements
factorybean
@override
public class<
?>
getobjecttype()
@override
public
boolean
issingleton()
}
如果想要獲取到factorybean本身的例項,可以使用&personfactorybean來獲取在配置類上標註元件掃瞄,相當於可以配置掃瞄的規則,使用basepackages來指定掃瞄的包,includefilters和excludefilters來配置包含或者排除的規則,與配置檔案相似
兩個示例
//排除controller註解標識的bean
@componentscan
(basepackages =
,excludefilters =)}
)// 只包含controller註解標識的bean,不要忘記usedefaultfilters = false,與使用配置檔案相似
@componentscan
(basepackages =
, usedefaultfilters =
false
, includefilters =)}
)
過濾的型別有以下幾種
使用import可以進行元件匯入,對於第三包中的所需要用到的bean,沒有必要每乙個都使用@bean來進行乙個個的例項化,可以使用@import來直接匯入bean元件
使用@value可以為屬性進行賦值
基本數值
@value
("張三"
)string name;
spel表示式
環境變數中的值(配置檔案中的值)
需要引入配置檔案,使用@propertysource
@propertysource
(value =
"classpath:test.properties"
)@configuration
public
class
mainconfig4
}public
class
testvalue")
private
int value;
}
在之前為了使@aspect註解生效需要在配置檔案中配置
而該註解的作用就是使得@aspect註解生效,開啟基於註解的aop模式,與上述配置功能相同
在之前為了使@transaction註解生效,需要在配置檔案中配置
而是用該註解的作用就是使得@transaction註解生效,與上述配置功能相同
spring註解整理學習
1.component 表示是受spring 管理元件的通用形式,component 註解可以放在類的頭上。component不推薦使用。好像沒什麼實質性的意義。2.controller 對應表現層的bean,也就是 action 如果 controller不指定其 value 則預設的 bean ...
Spring常用註解整理說明
componet controller service repository bean qualifier scope componentscan autowired resource 相同點 不同點 resource的注意事項 resource如果沒有指定name屬性,並且按照預設的名稱無法找到依...
Redis之Spring常用註解整理
redis 是乙個key value 的儲存系統,value可以儲存string,list,map等各種型別的資料。多用於快取每次都要查詢的固定資料,降低對資料庫的訪問量,調高 效能。下面主要介紹spring的三個關於redis的註解,cacheable,cacheevict,cacheput。ca...