feat(core): SpringUtils 工具类新增 getBean(Class<T> clazz, boolean ignoreNoSuchBeanEx) 方法

This commit is contained in:
2025-07-17 20:16:47 +08:00
parent 07e1637363
commit 17272a7809

View File

@@ -17,6 +17,7 @@
package top.continew.starter.core.util;
import cn.hutool.extra.spring.SpringUtil;
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
/**
* Spring 工具类
@@ -40,4 +41,25 @@ public class SpringUtils {
public static <T> T getProxy(T target) {
return (T)SpringUtil.getBean(target.getClass());
}
/**
* 通过 class 获取 Bean
*
* @param <T> Bean类型
* @param clazz Bean类
* @param ignoreNoSuchBeanEx 是否忽略 {@link NoSuchBeanDefinitionException}
* @return Bean对象
* @see SpringUtil#getBean(Class)
* @since 2.13.1
*/
public static <T> T getBean(Class<T> clazz, boolean ignoreNoSuchBeanEx) {
try {
return SpringUtil.getBean(clazz);
} catch (NoSuchBeanDefinitionException e) {
if (ignoreNoSuchBeanEx) {
return null;
}
throw e;
}
}
}