¶Ô±ÈÐÂÎļþ |
| | |
| | | /* |
| | | * Copyright (c) 2018-2028, DreamLu All rights reserved. |
| | | * |
| | | * Redistribution and use in source and binary forms, with or without |
| | | * modification, are permitted provided that the following conditions are met: |
| | | * |
| | | * Redistributions of source code must retain the above copyright notice, |
| | | * this list of conditions and the following disclaimer. |
| | | * Redistributions in binary form must reproduce the above copyright |
| | | * notice, this list of conditions and the following disclaimer in the |
| | | * documentation and/or other materials provided with the distribution. |
| | | * Neither the name of the dreamlu.net developer nor the names of its |
| | | * contributors may be used to endorse or promote products derived from |
| | | * this software without specific prior written permission. |
| | | * Author: DreamLu 墿¥æ¢¦ (596392912@qq.com) |
| | | */ |
| | | package org.springblade.core.tool.utils; |
| | | |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.BeansException; |
| | | import org.springframework.context.ApplicationContext; |
| | | import org.springframework.context.ApplicationContextAware; |
| | | import org.springframework.context.ApplicationEvent; |
| | | import org.springframework.lang.Nullable; |
| | | |
| | | /** |
| | | * spring å·¥å
·ç±» |
| | | * |
| | | * @author Chill |
| | | */ |
| | | @Slf4j |
| | | public class SpringUtil implements ApplicationContextAware { |
| | | |
| | | private static ApplicationContext context; |
| | | |
| | | @Override |
| | | public void setApplicationContext(@Nullable ApplicationContext context) throws BeansException { |
| | | SpringUtil.context = context; |
| | | } |
| | | |
| | | /** |
| | | * è·åbean |
| | | * |
| | | * @param clazz classç±» |
| | | * @param <T> æ³å |
| | | * @return T |
| | | */ |
| | | public static <T> T getBean(Class<T> clazz) { |
| | | if (clazz == null) { |
| | | return null; |
| | | } |
| | | return context.getBean(clazz); |
| | | } |
| | | |
| | | /** |
| | | * è·åbean |
| | | * |
| | | * @param beanId beanId |
| | | * @param <T> æ³å |
| | | * @return T |
| | | */ |
| | | public static <T> T getBean(String beanId) { |
| | | if (beanId == null) { |
| | | return null; |
| | | } |
| | | return (T) context.getBean(beanId); |
| | | } |
| | | |
| | | /** |
| | | * è·åbean |
| | | * |
| | | * @param beanName beanåç§° |
| | | * @param clazz classç±» |
| | | * @param <T> æ³å |
| | | * @return T |
| | | */ |
| | | public static <T> T getBean(String beanName, Class<T> clazz) { |
| | | if (null == beanName || "".equals(beanName.trim())) { |
| | | return null; |
| | | } |
| | | if (clazz == null) { |
| | | return null; |
| | | } |
| | | return (T) context.getBean(beanName, clazz); |
| | | } |
| | | |
| | | /** |
| | | * è·å ApplicationContext |
| | | * |
| | | * @return ApplicationContext |
| | | */ |
| | | public static ApplicationContext getContext() { |
| | | if (context == null) { |
| | | return null; |
| | | } |
| | | return context; |
| | | } |
| | | |
| | | /** |
| | | * åå¸äºä»¶ |
| | | * |
| | | * @param event äºä»¶ |
| | | */ |
| | | public static void publishEvent(ApplicationEvent event) { |
| | | if (context == null) { |
| | | return; |
| | | } |
| | | try { |
| | | context.publishEvent(event); |
| | | } catch (Exception ex) { |
| | | log.error(ex.getMessage()); |
| | | } |
| | | } |
| | | |
| | | } |