天天看點

Spring 配置中 bean 的 class 使用工廠 Bean 的含義解析

Spring 配置中 bean 的 class 使用工廠 Bean 的含義解析

<a target="_blank" href="http://blog.csdn.net/opengl_es">轉載請保留此句:太陽火神的美麗人生 -  本部落格專注于 靈活開發及移動和物聯裝置研究:iOS、Android、Html5、Arduino、pcDuino,否則,出自本部落格的文章拒絕轉載或再轉載,謝謝合作。</a>

1.此為 Spring 的配置檔案中,配置的一個 bean;

    當然了 Spring 的配置檔案可以有多個,最終的 Bean 都會被執行個體化,按 XML 配置中進行裝配,

    所謂裝配就是誰是誰的屬性,就把它賦給其屬性,一級一級地裝配完成。

2、就 bean 在 XML 中的執行個體化定義來看:

id 是用來辨別這個 bean,或者說就是 Java 代碼中執行個體化時,該類的名字;

該類是指誰呢?當然是後面的 class 指向的類了!

不過,這裡有奇巧,後面的類是 FactoryBean,沒辦法被執行個體化,是以,是自動由 Spring 架構調用了該工廠 Bean 的工廠方法來擷取到 StudentMapper 類的執行個體,

這種情況下,前面 id 所引用的就不是後面 class 類的執行個體了,當然了 id 所代表的引用類型也就不是了。

這回就知道了 MyBatis 的 Mapper 的來由了。

3、然而有更簡便的方法達到 MyBatis 與 Srping 的整合,那就是 MyBatis-Srping 元件,我們使用的 MyBatis 包中的各種包類,在引入它之後,就換用它裡面的對應同名類了:

而且 Mapper 的執行個體對象獲得,也不再那麼麻煩,使用 MyBatis-Spring 中的方式:

有了這句,所有的 Mapper 按其屬性表達式值指定的位置進行搜尋,全部能被正确執行個體化;

在 Spring 所有配置檔案上下文環境中,均可以自由引用。