1. 程式人生 > >Spring中Aware和Capable的區別和作用

Spring中Aware和Capable的區別和作用


Aware

XXXAware在Spring裡表示對XXX可以感知,通俗點解釋就是:如果在某個類裡邊想要使用spring的一些東西,就可以通過實現XXXAware介面告訴Spring, Spring看到後就會給你送過來,而接收的方式是通過實現介面唯一的方法setXXX。

栗子:

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

可以實現ApplicationContextAware介面,然後實現setApplicaitonContext(),就可以得到ApplcationContext

Capable

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