Ioc即:Inversion of Control 控制反轉。
在Ioc模式下,組件控制權發生了發轉,從應用程序轉移到了Ioc容器中。
就是用XML來定義生成的對象
DI:Dependedcy Injection 依賴注入,將組建的配置和使用分離,并用容器來管理組件。
依賴注入的三個方式:
1.構造方法注入
Public class BookService {
private BookDao bookDao;
public BookService(BookDao bookDao)
{
this.bookDao =bookDao;
}
}
2.設置屬性注入
利用set方法
3.接口注入
n 工廠模式的升華
n 可以把IoC看作是一個大工廠,只不過這個大工廠里要生成的對象都是在XML文件中給出定義的,然后利用Java 的“反射”編程,根據XML中給出的類名生成相應的對象。
n 從實現來看,IoC是把以前在工廠方法里寫死的對象生成代碼,改變為由XML文件來定義,也就是把工廠和對象生成這兩者獨立分隔開來,目的就是提高靈活性和可維護性。
n IoC中最基本的Java技術就是“反射”編程。反射又是一個生澀的名詞,通俗的說反射就是根據給出的類名(字符串)來生成對象。這種編程方式可以讓對象在生成時才決定要生成哪一種對象。