tft每日頭條

 > 生活

 > spring aware 接口是幹嘛的

spring aware 接口是幹嘛的

生活 更新时间:2024-12-14 17:58:26

spring aware 接口是幹嘛的?Spring提供Aware接口能讓bean感知Spring容器的存在,即讓Bean可以使用Spring容器所提供的資源,今天小編就來說說關于spring aware 接口是幹嘛的?下面更多詳細答案一起來看看吧!

spring aware 接口是幹嘛的(Spring篇之Aware容器感知技術)1

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;

}

}

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved