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成員變量