From 8c809353ca80293695081932dd91c0a9df397b9b Mon Sep 17 00:00:00 2001 From: Looly Date: Fri, 4 Sep 2020 15:05:22 +0800 Subject: [PATCH] add method --- CHANGELOG.md | 1 + .../cn/hutool/extra/spring/SpringUtil.java | 30 +++++++++---------- .../hutool/extra/spring/SpringUtilTest.java | 20 ++++--------- 3 files changed, 22 insertions(+), 29 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a025b72e6..cc35a65c2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ * 【db 】 AbstractDb增加executeBatch重载(issue#1053@Github) * 【extra 】 新增方便引入SpringUtil的注解@EnableSpringUtil(pr#172@Gitee) * 【poi 】 RowUtil增加插入和删除行(pr#1060@Github) +* 【extra 】 SpringUtil增加注册bean(pr#174@Gitee) ### Bug修复# * 【core 】 重新整理农历节假日,解决一个pr过来的玩笑导致的问题 diff --git a/hutool-extra/src/main/java/cn/hutool/extra/spring/SpringUtil.java b/hutool-extra/src/main/java/cn/hutool/extra/spring/SpringUtil.java index 59cd3e3cd..3510ed72a 100644 --- a/hutool-extra/src/main/java/cn/hutool/extra/spring/SpringUtil.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/spring/SpringUtil.java @@ -150,21 +150,21 @@ public class SpringUtil implements ApplicationContextAware { return ArrayUtil.isNotEmpty(activeProfiles) ? activeProfiles[0] : null; } - /** - * 动态向Spring注册Bean - *

- * 由{@link org.springframework.beans.factory.BeanFactory} 实现,通过工具开放API - * - * @param beanName 名称 - * @param bean bean - * @param 泛型 - * @author shadow - * @date 2020-09-04 - */ - public static void registerBean(String beanName, T bean) { - ConfigurableApplicationContext context = (ConfigurableApplicationContext) applicationContext; - context.getBeanFactory().registerSingleton(beanName, bean); - } + /** + * 动态向Spring注册Bean + *

+ * 由{@link org.springframework.beans.factory.BeanFactory} 实现,通过工具开放API + * + * @param Bean类型 + * @param beanName 名称 + * @param bean bean + * @author shadow + * @since 5.4.2 + */ + public static void registerBean(String beanName, T bean) { + ConfigurableApplicationContext context = (ConfigurableApplicationContext) applicationContext; + context.getBeanFactory().registerSingleton(beanName, bean); + } } diff --git a/hutool-extra/src/test/java/cn/hutool/extra/spring/SpringUtilTest.java b/hutool-extra/src/test/java/cn/hutool/extra/spring/SpringUtilTest.java index 07935e505..229609f81 100644 --- a/hutool-extra/src/test/java/cn/hutool/extra/spring/SpringUtilTest.java +++ b/hutool-extra/src/test/java/cn/hutool/extra/spring/SpringUtilTest.java @@ -10,9 +10,7 @@ import org.springframework.boot.test.context.SpringBootTest; import org.springframework.context.annotation.Bean; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import java.lang.reflect.Type; import java.util.HashMap; -import java.util.LinkedHashMap; import java.util.Map; @RunWith(SpringJUnit4ClassRunner.class) @@ -21,26 +19,20 @@ import java.util.Map; public class SpringUtilTest { /** - * 注册bean - * 方便执行顺序使用abcd...的顺序命名方法 + * 注册验证bean */ @Test - public void a() { + public void registerBeanTest() { Demo2 registerBean = new Demo2(); registerBean.setId(123); registerBean.setName("222"); SpringUtil.registerBean("registerBean", registerBean); + + Demo2 registerBean2 = SpringUtil.getBean("registerBean"); + Assert.assertEquals(123, registerBean2.getId()); + Assert.assertEquals("222", registerBean2.getName()); } - /** - * 验证注册的bean - */ - @Test - public void b() { - Demo2 registerBean = SpringUtil.getBean("registerBean"); - Assert.assertEquals(123, registerBean.getId()); - Assert.assertEquals("222", registerBean.getName()); - } @Test public void getBeanTest(){ final Demo2 testDemo = SpringUtil.getBean("testDemo");