@autowired
預設按型別裝配,預設情況下必須要求依賴物件必須存在,如果要允許null值,可以設定它的required屬性為false,如:@autowired(required=false) ,如果我們想使用名稱裝配可以結合@qualifier註解進行使用,如下:
@autowired
@qualifier("basedao")
private basedao basedao;
如果當spring上下文中存在不止乙個實現類或沒有實現類則報錯
@resource
預設按照名稱進行裝配,名稱可以通過name屬性進行指定。當找不到與名稱匹配的bean時才按照型別進行裝配。但是需要注意的是,如果name屬性一旦指定,就只會按照名稱進行裝配。
@service,容器為我們建立bean時預設類名首字母小寫
@bean是乙個方法級別上的註解,主要用在@configuration註解的類裡,也可以用在@component註解的類裡,定義spring中的bean。 情況下bean的名稱和方法名稱相同,也可以使用name屬性來指定。
@configurationproperties讀取配置檔案的資訊並自動封裝成實體類.
@bean
@configurationproperties(prefix = "spring.datasource")
public druidproperties druidproperties()
@primary對同乙個介面,可能會有幾種不同的實現類,而預設只會採取其中一種,此註解預設優先選擇,同時不可以同時設定多個
@conditionalonproperty來控制configuration是否生效
測試註解:
@runwith(springjunit4classrunner.class)
@contextconfiguration(locations = )
@transactional
方法上加 @rollback(false) 可以更新資料庫資料
springboot測試:
@springboottest
// 讓 junit 執行 spring 的測試環境, 獲得 spring 環境的上下文的支援
@runwith(springrunner.class)
Spring相關註解
用於建立物件的註解 component controller一般用於表現層 service一般用於業務層 repository一般用於持久層 用於注入資料的註解 autowired 自動按照型別注入,有 唯一的 bean匹配則注入成功,沒有匹配的型別則報錯 如果根據型別有多個匹配的,則根據變數名進行...
Spring相關註解
全文檢索 是目前使用最廣泛的搜尋引擎,它的工作原理是計算機索引程式掃瞄文章中每乙個詞,對每乙個詞建立索引,並指明該詞出現的頻率和位置,當使用者查詢時,檢索程式根據事先建立的索引進行查詢,並將結果返回給使用者.應用場景 查詢 為什麼使用solr 不是執行緒安全的 因為他是單例的被多個執行緒共享 解決方...
spring相關註解學習
1.service 但是當乙個介面只有乙個實現類,括號裡的內容是沒有意義的,只有在有多個實現類的時候才會起到作用.比如在乙個recall實現類上加上 service recall 括號裡面就是給例項化後的recall物件取個名字。這是在你乙個介面有多個實現類的情況下區分實現類的方式。比如recall...