From 17272a780905b554b1fb47e52667a51be0af7bbe Mon Sep 17 00:00:00 2001 From: Charles7c Date: Thu, 17 Jul 2025 20:16:47 +0800 Subject: [PATCH] =?UTF-8?q?feat(core):=20SpringUtils=20=E5=B7=A5=E5=85=B7?= =?UTF-8?q?=E7=B1=BB=E6=96=B0=E5=A2=9E=20getBean(Class=20clazz,=20boole?= =?UTF-8?q?an=20ignoreNoSuchBeanEx)=20=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../starter/core/util/SpringUtils.java | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/continew-starter-core/src/main/java/top/continew/starter/core/util/SpringUtils.java b/continew-starter-core/src/main/java/top/continew/starter/core/util/SpringUtils.java index 087e4ffd..c0331fb5 100644 --- a/continew-starter-core/src/main/java/top/continew/starter/core/util/SpringUtils.java +++ b/continew-starter-core/src/main/java/top/continew/starter/core/util/SpringUtils.java @@ -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 getProxy(T target) { return (T)SpringUtil.getBean(target.getClass()); } + + /** + * 通过 class 获取 Bean + * + * @param Bean类型 + * @param clazz Bean类 + * @param ignoreNoSuchBeanEx 是否忽略 {@link NoSuchBeanDefinitionException} + * @return Bean对象 + * @see SpringUtil#getBean(Class) + * @since 2.13.1 + */ + public static T getBean(Class clazz, boolean ignoreNoSuchBeanEx) { + try { + return SpringUtil.getBean(clazz); + } catch (NoSuchBeanDefinitionException e) { + if (ignoreNoSuchBeanEx) { + return null; + } + throw e; + } + } }