SpringIOC通過註解實現DI(dependence injection,依賴注入)
Spring中可以通過xml檔案進行ioc容器內bean的管理,通過註冊相應的java bean類實現相應的依賴注入。
除此之外它還支援另外一種更加方便快捷的方式-------使用註解。達到依賴注入的目的,與依賴注入相關的常用註解如下:
@Repository //資料庫類
@Component //元件類
@Service //服務類
@Controller //控制器類
@AutoWired //自動注入
@Qualifier //指定注入的bean的id
在使用註解之前要先匯入context名稱空間,如果使用IDEA在使用context名稱空間時會自動匯入,匯入名稱空間之後,使用包掃描語句:
<context:component-scan base-package="包名"></context:component-scan>
告訴Spring 要去哪些包中尋找新增了註解需要執行相應操作的類
包名寫的應儘量詳細(例如只寫個:com.*,同樣也能掃描到相應的類,達到預定目的,但是可能com開頭的包很多,如果寫的太粗略會增加掃描時長)
註解含義
前面四個註解,用於標記相應功能的類,@Repository @Component @Service @Controller
Repository:對應我們常說的Dao(Data Access Object)層,用於新增在相應dao層類上
Service:用於和經常Dao層對接的服務類
Controller:這個註解應該新增在控制器類上(其實就是Servlet類)
Component:如果要新增註解的類不屬於上面說的,或者你分不清它應該新增什麼註解,那麼就可以使用這個註解,將被註解的類歸為元件類
另外,標註什麼註解在處理時並不會區別對待,之所以會有這麼多類別的註解,是為了方便他人讀懂程式碼
Autowired :它的作用是,將對應的bean注入到java類中的屬性當中
常用的用法是加在類的屬性當中,此外它還可以加在方法,方法的引數,構造器上
-
加在屬性上時:會自動在IOC容器中為屬性注入值,如果沒有特別指定,將使用注入bean的類名的首字母小寫形式
-
加在方法上:spring掃描時會自動呼叫該方法,並使用ioc容器中註冊的bean當成引數傳入
-
加在構造器上:建立這個類時,會呼叫此構造器,並且使用ioc容器中的bean 作為引數
-
加在方法引數上:呼叫這個方法時會使用IOC容器中相應的bean 注入(和@Qualifier一起使用,取消@AutoWired 的預設注入行為)
Qualifier:這個註解的作用是取消Auto的預設行為,通過引數影響AutoWired行為,比如當使用字串作為引數時,會使用字串內容作為id注入相應的bean
相關文章
- .Net DI(Dependency Injection)依賴注入機制依賴注入
- .net core 原始碼分析(9) 依賴注入(DI)-Dependency Injection原始碼依賴注入
- Dependency Injection-依賴注入詳解依賴注入
- 依賴倒置(DIP)與依賴注入(DI)依賴注入
- Laravel Dependency Injection (依賴注入) 概念詳解Laravel依賴注入
- Spring 依賴注入 DISpring依賴注入
- 依賴注入?依賴注入是如何實現解耦的?依賴注入解耦
- php實現依賴注入(DI)和控制反轉(IOC)PHP依賴注入
- ASP.NET Core中的依賴注入(2):依賴注入(DI)ASP.NET依賴注入
- ASP.NET Core依賴注入(DI)ASP.NET依賴注入
- ASP.NET Core 依賴注入(DI)ASP.NET依賴注入
- 解析依賴注入(DI)的本質依賴注入
- 解構控制反轉(IoC)和依賴注入(DI)依賴注入
- 控制反轉(IoC)與依賴注入(DI)依賴注入
- iOS實現依賴注入iOS依賴注入
- Go語言:一文看懂什麼是DI依賴注入(dependency injection)設計模式Go依賴注入設計模式
- 淺析如何通過PHP類的反射來實現依賴注入PHP反射依賴注入
- 聊聊依賴注入註解@Resource和@Autowired依賴注入
- 反射、註解與依賴注入總結反射依賴注入
- PHP 控制反轉(IoC) 和 依賴注入(DI)PHP依賴注入
- Java:控制反轉(IoC)與依賴注入(DI)Java依賴注入
- 手寫Spring---DI依賴注入(2)Spring依賴注入
- PHP 控制反轉(IOC)和依賴注入(DI)PHP依賴注入
- 控制反轉與依賴注入(IOC和DI)依賴注入
- PHP 依賴注入容器實現PHP依賴注入
- 依賴注入實現元件化依賴注入元件化
- SAP Spartacus 中的依賴注入 Dependency Injection 介紹依賴注入
- .NET IoC模式依賴反轉(DIP)、控制反轉(Ioc)、依賴注入(DI)模式依賴注入
- 深入理解IoC(控制反轉)、DI(依賴注入)依賴注入
- 控制反轉(IOC)與依賴注入(DI)模式解析及實踐依賴注入模式
- go語言依賴注入實現Go依賴注入
- JavaScript依賴注入的實現思路JavaScript依賴注入
- SpringIOC迴圈依賴Spring
- SpringIOC容器-物件依賴Spring物件
- 依賴倒置原則(Dependence Inversion Principle)
- Android依賴注入之BufferKnife 8.0註解使用Android依賴注入
- 深入理解控制反轉(IoC)和依賴注入(DI)依賴注入
- yoyogo v1.7.5 釋出, 獨立依賴注入DIGo依賴注入