對spring中IOC的理解和使用spring的好處
阿新 • • 發佈:2019-01-30
依賴注入(Dependency Injection)和控制反轉(Inversion of Control)是同一個概念。具體含義是:當某個角色(可能是一個Java例項,呼叫者)需要另一個角色(另一個Java例項,被呼叫者)的協助時,在傳統的程式設計過程中,通常由呼叫者來建立被呼叫者的例項。但在Spring裡,建立被呼叫者的工作不再由呼叫者來完成,因此稱為控制反轉;建立被呼叫者例項的工作通常由Spring容器來完成,然後注入呼叫者,因此也稱為依賴注入。
使用Spring的好處
- 降低元件間的耦合性;
原來
class UserService{
UserDao udao=new UserDaoImpl();
}
使用Spring,只需要注入屬性
class UserService{
private UserDao udao;
public void setUdao(UserDao udao){
this.udao=udao;
}
public UserDao getUdao(){
return udao;
}
}
- Spring提供多種服務支援,如事務、jms服務,但使用事務管理時,開發人員不需要手動控制事務;
- 提供單態模式
- 提供AOP機制,利用它容易實現許可權攔截、執行前監控等
- 對主流框架提供支援