Spring Bean工具类

SpringUtils工具类

import cn.caijiajia.framework.util.EnvUtil; import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.core.annotation.OrderUtils; import org.springframework.core.env.Environment; import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; import java.util.*; /** * SpringUtils * * @author kancy * @date 2022/3/7 14:31 */ @Component public class SpringUtils implements ApplicationContextAware { private static ApplicationContext applicationContext; public static Object getBean(String beanName){ return applicationContext.getBean(beanName); } public static <T> T getBean(String beanName, Class<T> beanClass){ return applicationContext.getBean(beanName, beanClass); } public static <T> T getBean(Class<T> beanClass){ return applicationContext.getBean(beanClass); } public static <T> Map<String, T> getBeanMap(Class<T> beanClass){ return applicationContext.getBeansOfType(beanClass); } public static <T> List<T> getBeans(Class<T> beanClass){ Map<String, T> beansOfType = applicationContext.getBeansOfType(beanClass); if (CollectionUtils.isEmpty(beansOfType)){ return Collections.emptyList(); } ArrayList<T> beanList = new ArrayList<>(beansOfType.values()); beanList.sort(Comparator.comparingInt(o -> OrderUtils.getOrder(o.getClass()))); return beanList; } public static void publishEvent(Object event){ applicationContext.publishEvent(event); } public static ApplicationContext getApplicationContext() { return applicationContext; } public static Environment getEnvironment() { return applicationContext.getEnvironment(); } public static String getApplicationName() { return applicationContext.getApplicationName(); } public static String getEnv() { return EnvUtil.getEnv().name(); } @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { SpringUtils.applicationContext = applicationContext; } }

__EOF__

本文作者゛鱼记忆不止七秒つ
本文链接https://www.cnblogs.com/kancy/p/springutils.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   kancy  阅读(172)  评论(0编辑  收藏  举报
相关博文:
点击右上角即可分享
微信分享提示