spring專業術語瞭解

鬆門一枝花發表於2016-05-05

元件/框架設計

侵入式設計
引入了框架,對現有的類的結構有影響;即需要實現或繼承某些特定類。
例如:Struts框架
非侵入式設計
引入了框架,對現有的類結構沒有影響。
例如:Hibernate框架 / Spring框架

控制反轉:

Inversion on Control , 控制反轉 IOC
物件的建立交給外部容器完成,這個就做控制反轉.

依賴注入:

dependency injection 處理物件的依賴關係

區別:

  控制反轉, 解決物件建立的問題 【物件建立交給別人】

依賴注入,在建立完物件後, 物件的關係的處理就是依賴注入 【通過set方法依賴注入】


interface IUserService{
	......
}

class xiaomingService implements IUserService{
	......
}

class xiaoliService implements IUserService{
	......
}

class xiaoxiongService implements IUserService{
	......
}



class UserAction{
	//需要什麼,就建立什麼。傳統的"控制正轉"
	IUserService userService=new xiaoliService();
	.....
}


class UserAction{
	//物件的建立交給別人,叫【控制反轉】
	private IUserService userService;
	//傳入的userService可以是xiaoming,xiaoli,xiaoxiong
	//這個過程又是【依賴注入】
	public IUserService setUserService(IUserService userService){
		this.userService=userService;
	}
	
}

AOP 面向切面程式設計。切面,簡單來說來可以理解為一個類,由很多重複程式碼形成的類。
切面舉例:事務、日誌、許可權;




相關文章