spring aware 接口是干嘛的(Spring篇之Aware容器感知技术)
Spring提供Aware接口能让bean感知Spring容器的存在,即让Bean可以使用Spring容器所提供的资源,今天小编就来说说关于spring aware 接口是干嘛的?下面更多详细答案一起来看看吧!
spring aware 接口是干嘛的
一、Spring Aware是什么
Spring提供Aware接口能让bean感知Spring容器的存在,即让Bean可以使用Spring容器所提供的资源。
二、Spring Aware的分类
几种常用的Aware接口如下:
- applicationContextAware能获取
- Application Context调用容器的服务
- ApplicationEventPublisherAware应用事件发布器,可以用来发布事件
- BeanClassLoaderAware能获取加载当前Bean的类加载器
- BeanFactoryAware能获取Bean Factory调用容器的服务
- BeanNameAware能获取当前Bean的名称
- EnvironmentAware能获取当前容器的环境属性信息
- MessageSourceAware能获取国际化文本信息
- ResourceLoaderAware获取资源加载器读取资源文件
- ServletConfigAware能获取到
- ServletConfigServletContextAware能获取到ServletContext
三、Spring Aware的使用
如要获取容器中的某个Bean,可以继承ApplicationContextAware,让这个Bean拥有调用容器服务的能力。使用场景举例,在springmvc的filter中无法Autowired依赖注入bean就可以使用如果方式取
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;
@Component
public class AppUtil implements ApplicationContextAware {
private static ApplicationContext applicationContext;
@Override
public void setApplicationContext(ApplicationContext arg0) throws BeansException {
applicationContext = arg0;
}
public static Object getObject(String id) {
Object object = null;
object = applicationContext.getBean(id);
return object;
}
}
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com