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方法跟它要。

猜你喜欢

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