Spring中的Aware和Capable


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了某个对象。

猜你喜欢

转载自www.cnblogs.com/Jarris/p/10125980.html