1. 程式人生 > >Spring中的Aware和Capable

Spring中的Aware和Capable

spring nvi 實現 方法 lca ntc cap context 需要


Aware

XXXAware在Spring裏表示對XXX可以感知,通俗點解釋就是:如果在某個類裏邊想要使用spring的一些東西,就可以通過實現XXXAware接口告訴Spring, Spring看到後就會給你送過來,而接收的方式是通過實現接口唯一的方法setXXX。
這裏可以有一個概念,就是所有接口定義set方法並讓你來實現set方法的都是可以獲取到某一個對象,它一定是在某個框架的某個地方調用了這個方法,然後把想要的對象給set進來了

栗子:

比如一個類需要使用當前的ApplicaitonContext或者Environment

可以實現ApplicationContextAware接口,然後實現setApplicaitonContext(),就可以得到ApplcationContext

Capable

Capable,顧名思義,就是具有某種能力。
EnvironmentCapable,顧名思義,就是當前具有Environment的能力,也就是可以提供Environment.所以EnvironmentCapable唯一的方法就是Environment getEnvironment(); 用於實現EnvironmentCapable接口的類,就是告訴Spring它可以提供Environment,當Spring需要Environment的時候就會調用其getEnvironment方法跟它要。

同樣這裏的Capable也可以這麽理解:就是所有接口定義get方法並讓你來實現get方法的都是可以提供一個對象,它一定是在某個框架的某個地方調用了該方法,從你這個提供者這裏get了某個對象。

Spring中的Aware和Capable