對Spring中IOC思想的理解

2021-10-19 17:52:42 字數 2253 閱讀 7701

獲取使用者資料傳統實現方式為:

1、iuserdao介面

package indi.stitch.dao;

public inte***ce iuserdao

2、userdaoimpl實現類

package indi.stitch.dao;

public class userdaoimpl implements iuserdao

}

3、iuserservice介面

package indi.stitch.service;

public inte***ce iuserservice

4、userserviceimpl實現類

package indi.stitch.service;

import indi.stitch.dao.iuserdao;

import indi.stitch.dao.userdaoimpl;

public class userserviceimpl implements iuserservice

}

5、test測試類

import indi.stitch.service.iuserservice;

import indi.stitch.service.userserviceimpl;

public class mytest

}

執行結果為:

此時如果需要增加其它獲取使用者資料如「oracle獲取使用者資料」的方式,除了要增加iuserdao介面的實現類,還需要修改第四步中userserviceimpl的成員變數userdao,使其實例化的物件也就是等號右邊為新增iuserdao的實現類的物件,示例如下:

1、新增userdaooracleimpl實現類

package indi.stitch.dao;

public class userdaooracleimpl implements iuserdao

}

2、修改userserviceimpl實現類

package indi.stitch.service;

import indi.stitch.dao.iuserdao;

import indi.stitch.dao.userdaooracleimpl;

public class userserviceimpl implements iuserservice

}

這樣做才能實現獲取使用者資料方式的修改,如果涉及到多處呼叫,就會大大增加重複性的工作量,**耦合度較高。如果在userserviceimpl中增加set方法,將iuserdao介面的實現類注入,即可在test(即使用者層)實現不同獲取使用者資料方式的變動,不需要更改service層的**,降低了**的耦合性,使程式猿可以更專注於業務的實現,改動如下:

1、修改userserviceimpl實現類,增加setuserdao方法

package indi.stitch.service;

import indi.stitch.dao.iuserdao;

import indi.stitch.dao.userdaooracleimpl;

public class userserviceimpl implements iuserservice

public void getuser()

}

2、修改test,實現iuserdao的實現類物件的注入

import indi.stitch.dao.userdaooracleimpl;

import indi.stitch.service.iuserservice;

import indi.stitch.service.userserviceimpl;

public class mytest

}

執行結果為:

通過使用set方法完成對不同物件的注入,將需求變動的實現提公升到使用者層,降低了**的耦合性,大大減少了工作量!

在Spring中對IoC的理解

依賴注入的幾種方式 ioc的優缺點 ioc控制反轉 baiinversion of control,英文縮寫為ioc 把建立物件的權利交給框架,是框架的重要特徵,ioc不是一種技術,而是一種設計思想,並非物件導向程式設計的專用術語。它包括依賴注入 dependency injection,簡稱di ...

Spring中IOC程式設計

一 基本概念 1.ioc inverse of controll 控制反 所謂控制反轉就是把建立物件 bean 和維護物件 bean 的關係的權利從程式中轉移到spring的 容器 applicationcontext.xml 而程式本身不再維護.2.di dependency injection ...

快速理解Spring中的IoC

控制反轉 inversion of control,縮寫為ioc 是物件導向程式設計中的一種設計原則,可以用來減低計算機 之間的耦合度。其中最常見的方式叫做依賴注入 dependency injection,簡稱di 還有一種方式叫 依賴查詢 dependency lookup 通過控制反轉,物件在...