SpringIoc[2.實現原理]

Ioc

Ioc是工廠模式的升級版,Ioc是一個通用的工廠,工廠裏面的對象是通過xml等配置文件定義的.利用Java的反射技術,根據配置文件生成相應的對象,並將對象以來的屬性注入進去.

IoC中最基本的Java技術就是“反射”編程.

優點:

     因爲把對象生成放在了XML裏定義,所以當我們需要換一個實現子類將會變成很簡單.

缺點:

     對象生成因爲是使用反射編程,在效率上有些損耗.


反射技術


構造器

  • public Constructor<?>[] getConstructors()      返回類中所有的public構造器集合,默認構造器的下標爲0
  • public Constructor<T> getConstructor(Class<?>... parameterTypes)   返回指定public構造器,參數爲構造器參數類型集合
  • public Constructor<?>[] getDeclaredConstructors()  返回類中所有的構造器,包括私有
  • public Constructor<T> getDeclaredConstructor(Class<?>... parameterTypes) 返回任意指定的構造器

成員變量


  • public Field getDeclaredField(String name)  獲取任意指定名字的成員
  • public Field[] getDeclaredFields()             獲取所有的成員變量
  • public Field getField(String name)           獲取任意public成員變量
  • public Field[] getFields()                          獲取所有的public成員變量

方法


  • public Field getDeclaredField(String name)  獲取任意指定名字的成員
  • public Field[] getDeclaredFields()             獲取所有的成員變量
  • public Field getField(String name)           獲取任意public成員變量
  • public Field[] getFields()                          獲取所有的public成員變量




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章