@autowired自動注入
預設是型別匹配
使用配置檔案需要set ,使用註解不需要,只需要類屬性
@autowired可以和@qualifier("beanname")
配合著使用
@qualifier("beanname")
多個相同型別的bean,標註名稱
@scope
單例模式還是原型模式
@resource
@autowired預設按照bytype方式進行bean匹配,@resource預設按照byname方式進行bean匹配
@autowired是spring的註解,@resource是j2ee的註解
@controller
@controller對應控制層的
bean
@service
宣告類是乙個bean,且@service對應的是業務層bean
bean使用了該註解,預設id為類名首字母小寫。
@service("
abc")
bean起名字叫abc,括號內為特別定義的beanname
@ repository
@repository對應資料訪問層
bean
@component
@component是所有受spring 管理元件的通用形式,無法分組的bean可以使用該註解,@component不推薦使用。
@lazy表示是否延遲初始化(使用的時候再初始化)
注:
1.使用註解之前要開啟自動掃瞄功能,其中base-package為需要掃瞄的包(含子包)。
2.spring萬用字元:乙個*代表匹配任意字元,兩個*匹配0或多層目錄
如系統包含如下三個package:com.aaa.bbb.ccc com.aaa.bbb.ddd com.eee.fff.ccc
如果在spring中配置com.aaa.bbb.*,spring將會掃瞄com.aaa.bbb.ccc com.aaa.bbb.ddd兩個包
如果在spring中配置com.**.ccc,會掃瞄com.aaa.bbb.ccc com.eee.fff.ccc兩個包
在網上看到乙個問題,aaa包下面有乙個a類,一般我們配置aaa包,即可掃瞄
配置aaa.*不能掃瞄,配置aaa.**可以掃瞄,這是為什麼呢,因為aaa.*代表包的形式必須是aaa.***型別,如果我們目標bean在aaa.***下自然可以掃瞄到,但在aaa下,不能被掃瞄。那為什麼aaa.**可以被掃瞄呢,因為**代表0到多的概念,所以aaa包下的bean可以被掃瞄到。
end如有錯誤,歡迎指正
Spring框架AOP學習之配註解增強類
建立乙個被增強類book2 package aopdemo import org.springframework.stereotype.component component book public class book2 建立增強類mybook2 package aopdemo import or...
大資料開發 Spring框架常用註解
component repository service controller spring中還提供了跟 component等效的註解,通常情況下,我們會使用下面註解來代替 component repository 用於對 dao 實現類進行註解 service 用於對 service 實現類進行註...
Spring框架使用註解
首先要開啟context命名空間 xmlns xmlns p xmlns xsi xmlns aop xmlns tx xmlns context xsi schemalocation spring beans.xsd spring aop.xsd spring tx.xsd spring cont...