spring學習(二 IOC理論指導)

2022-06-08 15:24:08 字數 1219 閱讀 8651

原來是這樣建立專案的

userdao 介面

userdaoimpl 實現類

userservice 業務介面

userserviceimpl 業務實現類

在我們原來的業務中,使用者的需求可能會影響我們原來的**,我們需要根據使用者的需求來修改原**。如果程式**量十分大,修改一次成本代價十分昂貴!

我們使用乙個set介面實現,已經發生了革命性的變化

private userdao userdao;

//利用set實現動態實現值的注入

public void setuserdao(userdao userdao)

這種思想從本質上解決了問題,程式設計師不用再去管理物件的建立了,系統的耦合性大大降低!可以更加專注地在業務的實現上!這就是ioc的原型

控制反轉ioc(inversion of control),是一種設計思想,di(依賴注入)是實現ioc的一種方法,也有人認為di只是ioc的另一種說法。沒有ioc的程式中 , 我們使用物件導向程式設計 , 物件的建立與物件間的依賴關係完全硬編碼在程式中,物件的建立由程式自己控制,控制反轉後將物件的建立轉移給第三方,個人認為所謂控制反轉就是:獲得依賴物件的方式反轉了。

ioc是spring框架的核心內容,使用多種方式完美的實現了ioc,可以使用xml配置,也可以使用註解,新版本的spring也可以零配置實現ioc。

spring容器在初始化時先讀取配置檔案,根據配置檔案或元資料建立與組織物件存入容器中,程式使用時再從ioc容器中取出需要的物件。

採用xml方式配置bean的時候,bean的定義資訊是和實現分離的,而採用註解的方式可以把兩者合為一體,bean的定義資訊直接以註解的形式定義在實現類中,從而達到了零配置的目的。

控制反轉是一種通過描述(xml或註解)並通過第三方去生產或獲取特定物件的方式。在spring中實現控制反轉的是ioc容器,其實現方法是依賴注入(dependency injection,di)。

Spring框架學習之IOC 二

spring框架學習之ioc 二 接著昨天的內容,下面開始ioc基於註解裝配相關的內容 在 classpath 中掃瞄元件 特定元件包括 component 基本註解,標識了乙個受 spring 管理的元件 respository 標識持久層元件 service 標識服務層 業務層 元件 contr...

Spring學習篇 IoC知識整理 二

2.利用messagesource實現國際化 i18n spring目前提供了兩個messagesource的實現 resourcebundlemessagesource和staticmessagesource。它們都繼承nestingmessagesource以便能夠處理巢狀的訊息。staticm...

Spring學習篇 IoC知識整理 二

2.利用messagesource實現國際化 i18n spring目前提供了兩個messagesource的實現 resourcebundlemessagesource和staticmessagesource。它們都繼承nestingmessagesource以便能夠處理巢狀的訊息。staticm...