當前位置:編程學習大全網 - 源碼下載 - spring的原理?

spring的原理?

1、spring原理

spring的最大作用ioc/di,將類與類的依賴關系寫在配置文件中,

程序在運行時根據配置文件動態加載依賴的類,降低的類與類之間

的藕合度。它的原理是在applicationContext.xml加入bean標記,

在bean標記中通過class屬性說明具體類名、通過property標簽說明

該類的屬性名、通過constructor-args說明構造子的參數。其壹切都是

返射,當通過applicationContext.getBean("id名稱")得到壹個類實例時,

就是以bean標簽的類名、屬性名、構造子的參數為準,通過反射實例對象,

喚起對象的set方法設置屬性值、通過構造子的newInstance實例化得到對象。

正因為spring壹切都是反射,反射比直接調用的處理速度慢,所以這也是spring

的壹個問題。

spring第二大作用就是aop,其機理來自於代理模式,代理模式

有三個角色分別是通用接口、代理、真實對象

代理、真實對象實現的是同壹接口,將真實對象作為

代理的壹個屬性,向客戶端公開的是代理,當客戶端

調用代理的方法時,代理找到真實對象,調用真實對象

方法,在調用之前之後提供相關的服務,如事務、安全、

日誌。其名詞分別是代理、真實對象、裝備、關切點、連接點。

2、動態代理:不用寫代理類,虛擬機根據真實對象實現的接口產生壹個類,通過

類實例化壹個動態代理,在實例化動態代理時將真實對象

及裝備註入到動態代理中,向客戶端公開的是動態代理,

當客戶端調用動態代理方法時,動態代理根據類的返射得

到真實對象的Method,調用裝備的invoke方法,將動態代理、

Method、方法參數傳與裝備的invoke方法,invoke方法在喚

起method方法前或後做壹些處理。

1、產生動態代理的類:

java.lang.refect.Proxy

2、裝備必須實現InvocationHandler接口實現invoke方法

3、反射

什麽是類的返射?

通過類說明可以得到類的父類、實現的接口、內部類、構造函數、方法、屬性

並可以根據構造器實例化壹個對象,喚起壹個方法,取屬性值,改屬性值。

如何得到壹個類說明?

Class cls=類.class;

Class cls=對象.getClass();

Class.forName("類路徑");

如何得到壹個方法並喚起它?

Class cls=類.class;

Constructor cons=cls.getConstructor(new Class[]{String.class});

Object obj=cons.newInstance(new Object[]{"aaa"});

Method method=cls.getMethod("方法名",new Class[]{String.class,Integer.class});

method.invoke(obj,new Object[]{"aa",new Integer(1)});

4、spring的三種註入方式是什麽?

setter

interface

constructor

5、spring的核心接口及核類配置文件是什麽?

FactoryBean:工廠bean主要實現ioc/di

ApplicationContext ac=new FileXmlApplicationContext("applicationContext.xml");

Object obj=ac.getBean("id值");

applicationContext.xml

  • 上一篇:織夢怎麽使用織夢如何使用
  • 下一篇:超級兔子的系統保護好嗎?還需要其他的殺毒軟件嗎?
  • copyright 2024編程學習大全網