最近发现一个蛮好玩的类 ApplicationContextAware
可以用来很方的获取spring容器中的类和验证之前关于spring的一些知识
上代码
package com.pobo.liang.ws.utils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.BeansException; import org.springframework.beans.factory.NoSuchBeanDefinitionException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.stereotype.Component; /** * spring上下文配置 * */ @Component public class SpringContextUtil implements ApplicationContextAware { private static Logger logger = LoggerFactory.getLogger(SpringContextUtil.class); private static ApplicationContext applicationContext = null; public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { SpringContextUtil.applicationContext = applicationContext; } public static ApplicationContext getApplicationContext() { return applicationContext; } /** * 注意 bean name默认 = 类名(首字母小写) * 例如: A8sClusterDao = getBean("k8sClusterDao") * * @param name * @return * @throws BeansException */ public static Object getBean(String name) throws BeansException { return applicationContext.getBean(name); } public static <T> T getBean(String name,Class<T> clazz) throws BeansException { return (T) applicationContext.getBean(name); } public static <T> T getBean(Class<T> clazz) throws BeansException { return applicationContext.getBean(clazz); } public static boolean containsBean(String name) { return applicationContext.containsBean(name); } public static boolean isSingleton(String name) throws NoSuchBeanDefinitionException { return applicationContext.isSingleton(name); } }
原文地址:https://blog.csdn.net/qq_40006446
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。