Spring中的Aware和Capable
阿新 • • 發佈:2018-12-16
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