春天的原理
1?,春季原理?
????????????????春天的最大作用IOC / DI,將類與類的依賴關系寫在配置文件中,
????????????????程序在運行時根據配置文件動態加載依賴的類,降低的類與類之間
????????????????的藕合度。它的原理是在applicationContext.xml中加入綠豆標記,
????????????????在豆標記中通過類屬性說明具體類名,通過財產標簽說明
????????????????該類的屬性名,通過構造函數的args?說明構造子的參數。其一切都是
????????????????返射,當通過applicationContext.getBean(“ID?名稱“)得到一個類實例時,
????????????????就是以綠豆標簽的類名,屬性名,構造子的參數為準,通過反射實例對象,
????????????????喚起對象的設定方法設置屬性值,通過構造子的的newInstance?實例化得到對象。
????????????????正因為春天的一切都是反射,反射比直接調用的處理速度慢,所以這也是春天
????????????????的一個問題。
????????????????春天的第二大作用就是AOP?,其機理來自于代理模式,代理模式
????????????????有三個角色分別是通用接口,代理,真實對象
????????????????代理,真實對象實現的是同一接口,將真實對象作為
????????????????代理的一個屬性,向客戶端公開的是代理,當客戶端
????????????????調用代理的方法時,代理找到真實對象,調用真實對象
????????????????方法,在調用之前之后提供相關的服務,如事務,安全,
????????????????日志。其名詞分別是代理,真實對象,裝備,關切點,連接點。
????????2?、動態代理:?不用寫代理類,虛擬機根據真實對象實現的接口產生一個類,通過
????????????????????類實例化一個動態代理,在實例化動態代理時將真實對象
????????????????????及裝備注入到動態代理中,向客戶端公開的是動態代理,
????????????????????當客戶端調用動態代理方法時,動態代理根據類的返射得
????????????????????到真實對象的方法,調用裝備的調用方法,將動態代理,
????????????????????方法,方法參數傳與裝備的調用方法,調用方法在喚
????????????????????起的方法方法前或后做一些處理。?????
????????????????????1?,產生動態代理的類:
????????????????????????????java.lang.refect.Proxy
????????????????????2?,裝備必須實現的InvocationHandler?接口實現的invoke?方法
????????3?,反射
????????????????什么是類的返射?
????????????????????????通過類說明可以得到類的父類、實現的接口、內部類、構造函數、方法、屬性
????????????????????????并可以根據構造器實例化一個對象,喚起一個方法,取屬性值,改屬性值。
????????????????如何得到一個類說明?
????????????????????????一流的CLS =?類的.class;
????????????????????????一流的CLS =?對象.getClass();
????????????????????????的Class.forName(“?類路徑“);
????????????????如何得到一個方法并喚起它?
????????????????????????一流的CLS =?類的.class;
????????????????????????構造缺點= cls.getConstructor(新的Class [] {}為String.class);
????????????????????????obj對象= cons.newInstance(新對象[] {“AAA”});
????????????????????????方法方法= cls.getMethod(“?方法名“,新的Class [] {為String.class,Integer.class});
????????????????????????method.invoke(物鏡,新的對象[] {“aa”的,新的整數(1)});?
????????4?,春天的三種注入方式是什么?
????????????????二傳手
????????????????接口
????????????????構造函數
????????5?,春季的核心接口及核類配置文件是什么?
????????????????FactoryBean的:工廠豆主要實現IOC / DI
???????????????
????????????????ApplicationContext的AC =新FileXmlApplicationContext(“applicationContext.xml中”);
????????????????obj對象= ac.getBean(“ID?值“);
???????????????
????????????????applicationContext.xml中
轉載于:https://www.cnblogs.com/baiduligang/p/4246997.html
總結
- 上一篇: C#算数运算符、关系运算符、逻辑运算符、
- 下一篇: 坑爹的属性,android:descen