spring註解記錄

2022-05-27 04:39:08 字數 1156 閱讀 4933

記錄spring常見註解 方便今後查閱

@service服務層元件,用於標註業務層元件,表示定義乙個bean,自動根據bean的類名例項化乙個首寫字母為小寫的bean,例如chinese例項化為chinese,如果需要自己改名字則:@service("你自己改的bean名")。   

@controller用於標註控制層元件(如struts中的action)

@repository持久層元件,用於標註資料訪問元件,即dao元件

@component泛指元件,當元件不好歸類的時候,我們可以使用這個註解進行標註。 

@transactional 在service類前加上@transactional,宣告這個service所有方法需要事務管理。每乙個業務方法開始時都會開啟乙個事務。

@transactional(propagation=propagation.not_supported,readonly=true),這樣就做成乙個唯讀事務,可以提高效率。

required:業務方法需要在乙個容器裡執行。如果方法執行時,已經處在乙個事務中,那麼加入到這個事務,否則自己新建乙個新的事務。

not_supported:宣告方法不需要事務。如果方法沒有關聯到乙個事務,容器不會為他開啟事務,如果方法在乙個事務中被呼叫,該事務會被掛起,呼叫結束後,原先的事務會恢復執行。

requiresnew:不管是否存在事務,該方法總匯為自己發起乙個新的事務。如果方法已經執行在乙個事務中,則原有事務掛起,新的事務被建立。

mandatory:該方法只能在乙個已經存在的事務中執行,業務方法不能發起自己的事務。如果在沒有事務的環境下被呼叫,容器丟擲例外。

supports:該方法在某個事務範圍內被呼叫,則方法成為該事務的一部分。如果方法在該事務範圍外被呼叫,該方法就在沒有事務的環境下執行。

never:該方法絕對不能在事務範圍內執行。如果在就拋例外。只有該方法沒有關聯到任何事務,才正常執行。

nested:如果乙個活動的事務存在,則執行在乙個巢狀的事務中。如果沒有活動事務,則按required屬性執行。它使用了乙個單獨的事務,這個事務 擁有多個可以回滾的儲存點。內部事務的回滾不會對外部事務造成影響。它只對datasourcetransactionmanager事務管理器起效。

@autowired :他可以對成員變數、方法和建構函式進行自動裝配,消除get、set方法

spring常用註解記錄

spring常用註解 使用註解之前要開啟自動掃瞄功能 其中base package為需要掃瞄的包 含子包 configuration把乙個類作為乙個ioc容器,它的某個方法頭上如果註冊了 bean,就會作為這個spring容器中的bean。lazy代表延時載入,預設是true service用於標註...

記錄spring註解(持續更新)

0.conditionalo singbean conditionalo singbean conditionalonproperty value pt1 matchifmissing true bean public letter letter 以上配置為configuration配置類內容,含義...

Spring註解 Import註解

常用的匯入註解分類 註冊自己寫的類service dao controller可用包掃瞄 元件標註註解 controller service repository component bean 匯入的第三方包裡面的元件 import 快速給容器中匯入乙個元件 1 import 要匯入到容器中的元件 ...