diff --git a/hutool-extra/src/main/java/cn/hutool/extra/spring/EnableSpringUtil.java b/hutool-extra/src/main/java/cn/hutool/extra/spring/EnableSpringUtil.java new file mode 100644 index 000000000..5710b1c07 --- /dev/null +++ b/hutool-extra/src/main/java/cn/hutool/extra/spring/EnableSpringUtil.java @@ -0,0 +1,19 @@ +package cn.hutool.extra.spring; + +import org.springframework.context.annotation.Import; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * 启用SpringUtil, 即注入SpringUtil到容器中 + * + * @author sidian + */ +@Target(ElementType.TYPE) +@Retention(RetentionPolicy.RUNTIME) +@Import(SpringUtil.class) +public @interface EnableSpringUtil { +} diff --git a/hutool-extra/src/test/java/cn/hutool/extra/spring/EnableSprintUtilTest.java b/hutool-extra/src/test/java/cn/hutool/extra/spring/EnableSprintUtilTest.java new file mode 100644 index 000000000..cf202dc8d --- /dev/null +++ b/hutool-extra/src/test/java/cn/hutool/extra/spring/EnableSprintUtilTest.java @@ -0,0 +1,24 @@ +package cn.hutool.extra.spring; + +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +/** + * @author sidian + */ +@RunWith(SpringRunner.class) +@SpringBootTest(classes = EnableSprintUtilTest.class) +@EnableSpringUtil +public class EnableSprintUtilTest { + + @Test + public void test() { + // 使用@EnableSpringUtil注解后, 能获取上下文 + Assert.assertNotNull(SpringUtil.getApplicationContext()); + // 不使用时, 为null +// Assert.assertNull(SpringUtil.getApplicationContext()); + } +}