中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

ioc在spring中的作用有哪些-創(chuàng)新互聯(lián)

今天就跟大家聊聊有關ioc在spring中的作用有哪些,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據(jù)這篇文章可以有所收獲。

目前成都創(chuàng)新互聯(lián)公司已為成百上千的企業(yè)提供了網(wǎng)站建設、域名、網(wǎng)絡空間、成都網(wǎng)站托管、企業(yè)網(wǎng)站設計、松溪網(wǎng)站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

IoC——Inversion of Control,控制反轉

在Java開發(fā)中,IoC意味著將你設計好的類交給系統(tǒng)去控制,而不是在你的類內部控制。IoC是一種讓服務消費者不直接依賴于服務提供者的組件設計方式,是一種減少類與類之間依賴的設計原則。 

DI——Dependency Injection(依賴注入)

即組件之間的依賴關系由容器在運行期決定,形象的來說,即由容器動態(tài)的將某種依賴關系注入到組件之中。
依賴注入的目標并非為軟件系統(tǒng)帶來更多的功能,而是為了提升組件重用的概率,并為系統(tǒng)搭建一個靈活、可擴展的平臺。通過依賴注入機制,我們只需要通過簡單的配置,而無需任何代碼就可指定目標需要的資源,完成自身的業(yè)務 邏輯,而不用關心具體的資源來自何處、由誰實現(xiàn)。

1:控制反轉:

誰控制誰?控制什么?為何叫反轉(對應于正向)?哪些方面反轉了 ?為何需要反轉?

2:依賴:

什么是依賴(按名詞理解,按動詞理解)?誰依賴于誰?為什么需要依賴?依賴什么東西?

3:注入:

誰注入于誰?注入什么東西?為何要注入?

4:依賴注入和控制反轉是同一概念嗎?

5:參與者都有哪些?

6:IoC/DI是什么?能做什么?怎么做?用在什么地方?

還不能完全回答和理解,沒有關系,先來看看IoC/DI的基本思想演變,然后再回頭來回答這些問題

ioc在spring中的作用有哪些


ioc在spring中的作用有哪些

ioc在spring中的作用有哪些

ioc在spring中的作用有哪些

ioc在spring中的作用有哪些

IoC容器

簡單的理解就是:實現(xiàn)IoC思想,并提供對象創(chuàng)建、對象裝配以及對象生命周期管理的軟件就是IoC容器。

IoC理解

1:應用程序無需主動new對象;而是描述對象應該如何被創(chuàng)建即可

IoC容器幫你創(chuàng)建,即被動實例化;

2:應用程序不需要主動裝配對象之間的依賴關系,而是描述需要哪個服務

IoC容器會幫你裝配(即負責將它們關聯(lián)在一起),被動接受裝配;

3:主動變被動,體現(xiàn)好萊塢法則:別打電話給我們,我們會打給你

4:體現(xiàn)迪米特法則(最少知識原則):應用程序不知道依賴的具體實現(xiàn),只知道需要提供某類服務的對象(面向接口編程);并松散耦合,一個對象應當對其他對象有盡可能少的了解,不和陌生人(實現(xiàn))說話

5:是一種讓服務消費者不直接依賴于服務提供者的組件設計方式,是一種減少類與類之間依賴的設計原則。

ioc在spring中的作用有哪些

使用IoC/DI容器開發(fā)需要改變的思路

1:應用程序不主動創(chuàng)建對象,但要描述創(chuàng)建它們的方式。

2:在應用程序代碼中不直接進行服務的裝配,但要描述哪一個組件需要哪一項服務,由容器負責將這些裝配在一起。

也就是說:所有的組件都是被動的,組件初始化和裝配都由容器負責,應用程序只是在獲取相應的組件后,實現(xiàn)應用的功能即可。 

提醒一點

IoC/DI是思想,不是純實現(xiàn)技術。IoC是框架共性,只是控制權的轉移,轉移到框架,所以不能因為實現(xiàn)了IoC就叫IoC容器,而一般除了實現(xiàn)了IoC外,還具有DI功能的才叫IoC容器,因為容器除了要負責創(chuàng)建并裝配組件關系,還需要管理組件生命周期。

n工具準備

1:Eclipse + Jdk6.0 ,示例用的Eclipse是Eclipse Java EE IDE for Web Developers,Version: Helios Service Release 1

2:spring-framework-3.1.0.M2-with-docs.zip

構建環(huán)境

1:在Eclipse里面新建一個工程,設若名稱是Spring3test

2:把發(fā)行包里面的dist下面的jar包都添加到Eclipse里面

3:根據(jù)Spring的工程來獲取Spring需要的依賴包,在聯(lián)網(wǎng)的情況下,通過Ant運行projects/build-spring-framework/build.xml,會自動去下載所需要的jar包,下載后的包位于projects/ivy-cache/repository下面。

4:為了方便,把這些jar包也添加到Eclipse里面

開發(fā)接口

java代碼:

public interface HelloApi { 
public String helloSpring3(int a); 
}

名稱欄目:ioc在spring中的作用有哪些-創(chuàng)新互聯(lián)
新聞來源:http://www.rwnh.cn/article6/dddhog.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、面包屑導航、域名注冊、網(wǎng)站收錄微信公眾號、App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司
安西县| 溆浦县| 秭归县| 永胜县| 云林县| 福贡县| 上杭县| 济南市| 泾源县| 中山市| 西宁市| 夏河县| 葫芦岛市| 滨海县| 沙雅县| 扶沟县| 林甸县| 额尔古纳市| 阿尔山市| 乐业县| 武乡县| 广宁县| 托里县| 册亨县| 项城市| 栾川县| 远安县| 昌图县| 加查县| 临沧市| 西昌市| 新巴尔虎右旗| 连南| 双城市| 西宁市| 舞阳县| 揭东县| 乌兰察布市| 鹿泉市| 彭山县| 龙南县|