【ApplicationContext】通过实现ApplicationContextAware接口获取bean
2024-08-27 09:16:29
SpringApplicationUtils.java
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;
import java.util.Map;
@Component
public class SpringApplicationUtils implements ApplicationContextAware {
private static ApplicationContext applicationContext = null;
/**
* 获取applicationContext
*
* @return
*/
public static ApplicationContext getApplicationContext() {
return applicationContext;
}
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
if (SpringApplicationUtils.applicationContext == null) {
SpringApplicationUtils.applicationContext = applicationContext;
}
}
/**
* 通过name获取 Bean.
*/
public static Object getBean(String name) {
return getApplicationContext().getBean(name);
}
/**
* 通过class获取Bean.
*
* @param clazz
* @param <T>
* @return
*/
public static <T> T getBean(Class<T> clazz) {
return getApplicationContext().getBean(clazz);
}
/**
* 通过name,以及Clazz返回指定的Bean
*
* @param name
* @param clazz
* @param <T>
* @return
*/
public static <T> T getBean(String name, Class<T> clazz) {
return getApplicationContext().getBean(name, clazz);
}
/**
* 获取指定类型的所有bean实例
*
* @param clazz
* @param <T>
* @return
*/
public static <T> Map<String, T> getBeansOfType(Class<T> clazz) {
Map<String, T> instances = getApplicationContext().getBeansOfType(clazz);
return instances;
}
}
最新文章
- Autoit中用PrintWindow替代ScreenCapture函数实现截图
- 【WMware】关于VMware服务器虚拟化管理之服务器容量扩充
- AEAI CRM客户关系管理升级说明
- HDU 1721
- DB天气app冲刺二阶段第八天
- ZOJ 1025 Wooden Sticks(快排+贪心)
- NDK常见问题
- Oracle与Mysql区别简述
- PYTHON 函数局部变量和全局变量
- JSP中动态include和静态include区别
- Go 初体验 - channel.1 - 基本用法
- 动态代理Dynamic Proxy
- ubuntu下sqlite命令
- 【转】微信公众开发URL和token填写详解
- 杀死正在运行的进程: linux
- 半夜思考之查漏补缺 , Spring 中的 Bean 继承机制
- 两张图证明 WolframAlpha 的强大
- Android之常用开发框架
- TADOConnection如何测试连接数据库超时的解决办法
- Python进阶(5)_进程与线程之协程、I/O模型
热门文章
- Unity 3D用简单的Cube、Sphere实现镜面/哈哈镜效果,只需十几秒哦!
- python三大框架之一(flask介绍)
- #include<;bits/stdc++.h>;的使用
- error: ld returned 1 exit status 解决
- Damped Track 阻尼跟随
- linux I/O状态实时监控iostat
- day 54 JS 之 jquery
- str_replace中的匹配空白符,必须用双引号
- linux 查看tcp数量
- web 对接 platform