當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
Spring的控制反转以及依赖注入,控制反转使程序具有高拓展性。
生活随笔
收集整理的這篇文章主要介紹了
Spring的控制反转以及依赖注入,控制反转使程序具有高拓展性。
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 控制反轉(Inversion of Control, IOC)
將對象的創建、賦值、管理交給容器(Spring),通過xml文件即可修改對象的屬性,不必修改源代碼,具有高拓展性。各個模塊間的對象創建、調用、注入通過spring管理,不必在程序里手動操作,可輕松實現解耦合。
2. 依賴注入(Dependency Injection, DI)
控制反轉的技術實現,bean對象的屬性賦值通過注入實現。
2.1 兩種實現類別:①基于xml的DI實現:在spring配置文件中,使用bean標簽和屬性完成;②基于注解的DI實現:使用注解完成屬性賦值。
2.2 兩種實現方式:①set注入:也稱設值注入,使用set方法實現屬性賦值;②構造注入:調用有參構造函數創建對象,默認是無參構造函數。
2.3 set注入:①Spring會調用對象的set方法,要對屬性賦值,該屬性必須有public權限的set方法;②只是調用set方法,內部邏輯自身實現;
③類中沒有屬性,但是spring中的bean定義了一個屬性,并且類中有該屬性的set方法,那么仍然能正常運行。
④簡單類型可以使用value賦值,不需要set方法,String和基本類型的包裝類都行。
2.5 構造注入:調用有參構造函數創建對象。
3. 引用類型的自動注入
3.1 自動注入仍然需要有屬性的set方法,不然賦值失敗
3.2 只能為復雜的引用類型自動注入,簡單的引用類型不能被注入
4. 多配置文件,仍然可以使用自動注入,也可以手動通過ref注入
總結
以上是生活随笔為你收集整理的Spring的控制反转以及依赖注入,控制反转使程序具有高拓展性。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring常见问题
- 下一篇: gradle idea java ssm