From ff84c5b96794efc06aebc17de85229eaefa9266b Mon Sep 17 00:00:00 2001 From: Mercy Date: Fri, 10 Jan 2025 23:01:19 +0800 Subject: [PATCH 1/2] Polish #89 --- .../microsphere/spring/beans/BeanUtils.java | 3 +- .../DefaultBeanDependencyResolver.java | 1 - .../cache/intereptor/TTLCacheResolver.java | 1 - ...DependencyAnalysisBeanFactoryListener.java | 1 - .../beans/factory/BeanFactoryUtilsTest.java | 21 +++++----- ...notatedInjectionBeanPostProcessorTest.java | 38 +++++++++--------- ...anDefinitionRegistryPostProcessorTest.java | 4 +- ...notationInjectedBeanPostProcessorTest.java | 36 +++++++++-------- ...tionBeanBindingTestForMultipleBinding.java | 4 +- .../GenericBeanPostProcessorAdapterTest.java | 5 +-- ...DeferredApplicationEventPublisherTest.java | 4 +- .../core/annotation/AnnotationUtilsTest.java | 34 +++++++--------- .../GenericAnnotationAttributesTest.java | 2 +- ...ListenableConfigurableEnvironmentTest.java | 2 +- .../SpringProtocolURLStreamHandlerTest.java | 4 +- microsphere-spring-parent/pom.xml | 32 ++++++--------- .../Jackson2WebEndpointMappingFactory.java | 5 ++- .../web/rule/WebRequestPattensRule.java | 4 +- .../web/rule/WebRequestProducesRule.java | 4 +- ...entNegotiationManagerWebMvcConfigurer.java | 40 +++++++------------ ...ctPageRenderContextHandlerInterceptor.java | 13 ++---- .../spring/webmvc/util/WebMvcUtils.java | 32 +++++++-------- ...pingInfoWebEndpointMappingFactoryTest.java | 4 +- 23 files changed, 133 insertions(+), 161 deletions(-) diff --git a/microsphere-spring-context/src/main/java/io/microsphere/spring/beans/BeanUtils.java b/microsphere-spring-context/src/main/java/io/microsphere/spring/beans/BeanUtils.java index 0c4a4c3d..3934c45d 100644 --- a/microsphere-spring-context/src/main/java/io/microsphere/spring/beans/BeanUtils.java +++ b/microsphere-spring-context/src/main/java/io/microsphere/spring/beans/BeanUtils.java @@ -54,6 +54,7 @@ import static org.springframework.beans.factory.support.BeanDefinitionBuilder.rootBeanDefinition; import static org.springframework.beans.factory.support.BeanDefinitionReaderUtils.generateBeanName; import static org.springframework.util.ClassUtils.getUserClass; +import static org.springframework.util.ClassUtils.resolveClassName; import static org.springframework.util.StringUtils.hasText; /** @@ -207,7 +208,7 @@ public static Class resolveBeanType(String beanClassName, ClassLoader classLo Class beanType = null; try { - beanType = resolveClass(beanClassName, classLoader); + beanType = resolveClassName(beanClassName, classLoader); beanType = getUserClass(beanType); } catch (Exception e) { if (logger.isErrorEnabled()) { diff --git a/microsphere-spring-context/src/main/java/io/microsphere/spring/beans/factory/DefaultBeanDependencyResolver.java b/microsphere-spring-context/src/main/java/io/microsphere/spring/beans/factory/DefaultBeanDependencyResolver.java index cf8fc216..68081702 100644 --- a/microsphere-spring-context/src/main/java/io/microsphere/spring/beans/factory/DefaultBeanDependencyResolver.java +++ b/microsphere-spring-context/src/main/java/io/microsphere/spring/beans/factory/DefaultBeanDependencyResolver.java @@ -16,7 +16,6 @@ */ package io.microsphere.spring.beans.factory; -import io.microsphere.collection.CollectionUtils; import io.microsphere.collection.SetUtils; import io.microsphere.lang.function.ThrowableAction; import io.microsphere.logging.Logger; diff --git a/microsphere-spring-context/src/main/java/io/microsphere/spring/cache/intereptor/TTLCacheResolver.java b/microsphere-spring-context/src/main/java/io/microsphere/spring/cache/intereptor/TTLCacheResolver.java index 72535359..892c44b3 100644 --- a/microsphere-spring-context/src/main/java/io/microsphere/spring/cache/intereptor/TTLCacheResolver.java +++ b/microsphere-spring-context/src/main/java/io/microsphere/spring/cache/intereptor/TTLCacheResolver.java @@ -22,7 +22,6 @@ import io.microsphere.spring.cache.annotation.TTLCachePut; import io.microsphere.spring.cache.annotation.TTLCacheable; import io.microsphere.spring.context.event.OnceApplicationContextEventListener; -import io.microsphere.util.ArrayUtils; import org.springframework.cache.Cache; import org.springframework.cache.CacheManager; import org.springframework.cache.interceptor.CacheOperation; diff --git a/microsphere-spring-context/src/main/java/io/microsphere/spring/context/event/DependencyAnalysisBeanFactoryListener.java b/microsphere-spring-context/src/main/java/io/microsphere/spring/context/event/DependencyAnalysisBeanFactoryListener.java index 954cfa04..f5ab00b6 100644 --- a/microsphere-spring-context/src/main/java/io/microsphere/spring/context/event/DependencyAnalysisBeanFactoryListener.java +++ b/microsphere-spring-context/src/main/java/io/microsphere/spring/context/event/DependencyAnalysisBeanFactoryListener.java @@ -57,7 +57,6 @@ import static io.microsphere.spring.beans.factory.config.BeanDefinitionUtils.getInstanceSupplier; import static io.microsphere.spring.core.MethodParameterUtils.forParameter; import static io.microsphere.util.ArrayUtils.EMPTY_PARAMETER_ARRAY; -import static io.microsphere.util.ClassLoaderUtils.resolveClass; import static java.util.Arrays.asList; import static java.util.Collections.emptyList; import static java.util.Collections.emptySet; diff --git a/microsphere-spring-context/src/test/java/io/microsphere/spring/beans/factory/BeanFactoryUtilsTest.java b/microsphere-spring-context/src/test/java/io/microsphere/spring/beans/factory/BeanFactoryUtilsTest.java index 7e7b2a28..886d99e5 100644 --- a/microsphere-spring-context/src/test/java/io/microsphere/spring/beans/factory/BeanFactoryUtilsTest.java +++ b/microsphere-spring-context/src/test/java/io/microsphere/spring/beans/factory/BeanFactoryUtilsTest.java @@ -17,7 +17,6 @@ package io.microsphere.spring.beans.factory; import org.junit.After; -import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.springframework.beans.factory.BeanFactory; @@ -49,6 +48,8 @@ import static io.microsphere.util.ArrayUtils.of; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; import static org.junit.Assert.assertSame; import static org.junit.Assert.assertTrue; @@ -79,11 +80,11 @@ public void testGetOptionalBean() { applicationContext.register(BaseTestBean.class); - applicationContext.refresh(); + this.applicationContext.refresh(); BaseTestBean testBean = getOptionalBean(applicationContext, "baseTestBean", BaseTestBean.class); - Assert.assertNotNull(testBean); + assertNotNull(testBean); assertEquals("Hello,World", testBean.getName()); @@ -92,27 +93,27 @@ public void testGetOptionalBean() { @Test public void testGetOptionalBeanIfAbsent() { - applicationContext.refresh(); + this.applicationContext.refresh(); BaseTestBean testBean = getOptionalBean(applicationContext, "baseTestBean", BaseTestBean.class); - Assert.assertNull(testBean); + assertNull(testBean); testBean = getOptionalBean(applicationContext, "1", BaseTestBean.class); - Assert.assertNull(testBean); + assertNull(testBean); testBean = getOptionalBean(applicationContext, null, BaseTestBean.class); - Assert.assertNull(testBean); + assertNull(testBean); } @Test public void testGetBeans() { - applicationContext.register(BaseTestBean.class, BaseTestBean2.class); + this.applicationContext.register(BaseTestBean.class, BaseTestBean2.class); - applicationContext.refresh(); + this.applicationContext.refresh(); List testBeans = getBeans(applicationContext, new String[]{"baseTestBean"}, BaseTestBean.class); @@ -136,7 +137,7 @@ public void testGetBeans() { @Test public void testGetBeansIfAbsent() { - applicationContext.refresh(); + this.applicationContext.refresh(); List testBeans = getBeans(applicationContext, new String[]{"baseTestBean"}, BaseTestBean.class); diff --git a/microsphere-spring-context/src/test/java/io/microsphere/spring/beans/factory/annotation/AnnotatedInjectionBeanPostProcessorTest.java b/microsphere-spring-context/src/test/java/io/microsphere/spring/beans/factory/annotation/AnnotatedInjectionBeanPostProcessorTest.java index a315019f..44691e3d 100644 --- a/microsphere-spring-context/src/test/java/io/microsphere/spring/beans/factory/annotation/AnnotatedInjectionBeanPostProcessorTest.java +++ b/microsphere-spring-context/src/test/java/io/microsphere/spring/beans/factory/annotation/AnnotatedInjectionBeanPostProcessorTest.java @@ -17,7 +17,6 @@ package io.microsphere.spring.beans.factory.annotation; import io.microsphere.spring.util.User; -import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; @@ -27,14 +26,17 @@ import org.springframework.core.Ordered; import org.springframework.core.env.Environment; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.junit4.SpringRunner; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; /** * {@link AnnotatedInjectionBeanPostProcessor} Test * * @since 1.0.0 */ -@RunWith(SpringJUnit4ClassRunner.class) +@RunWith(SpringRunner.class) @ContextConfiguration(classes = { AnnotationInjectedBeanPostProcessorTest.TestConfiguration.class, AnnotatedInjectionBeanPostProcessorTest.ReferencedInjectedBeanPostProcessor.class, @@ -69,26 +71,26 @@ public class AnnotatedInjectionBeanPostProcessorTest { @Test public void testCustomizedAnnotationBeanPostProcessor() { - Assert.assertEquals(environment, processor.getEnvironment()); - Assert.assertEquals(beanFactory.getBeanClassLoader(), processor.getClassLoader()); - Assert.assertEquals(beanFactory, processor.getBeanFactory()); + assertEquals(environment, processor.getEnvironment()); + assertEquals(beanFactory.getBeanClassLoader(), processor.getClassLoader()); + assertEquals(beanFactory, processor.getBeanFactory()); - Assert.assertEquals(1, processor.getAnnotationTypes().size()); - Assert.assertTrue(processor.getAnnotationTypes().contains(Referenced.class)); - Assert.assertEquals(Ordered.LOWEST_PRECEDENCE - 3, processor.getOrder()); + assertEquals(1, processor.getAnnotationTypes().size()); + assertTrue(processor.getAnnotationTypes().contains(Referenced.class)); + assertEquals(Ordered.LOWEST_PRECEDENCE - 3, processor.getOrder()); } @Test public void testReferencedUser() { - Assert.assertEquals("mercyblitz", parent.user.getName()); - Assert.assertEquals(32, parent.user.getAge()); - Assert.assertEquals(parent.user, parent.parentUser); - Assert.assertEquals(parent.user, child.childUser); - Assert.assertEquals(parent.user, userHolder.user); - Assert.assertEquals(parent.user, genericChild.s); - Assert.assertEquals(parent.user, genericChild.s1); - Assert.assertEquals(parent.user, genericChild.s2); - Assert.assertEquals(parent.user, child.user); + assertEquals("mercyblitz", parent.user.getName()); + assertEquals(32, parent.user.getAge()); + assertEquals(parent.user, parent.parentUser); + assertEquals(parent.user, child.childUser); + assertEquals(parent.user, userHolder.user); + assertEquals(parent.user, genericChild.s); + assertEquals(parent.user, genericChild.s1); + assertEquals(parent.user, genericChild.s2); + assertEquals(parent.user, child.user); } public static class ReferencedInjectedBeanPostProcessor extends AnnotatedInjectionBeanPostProcessor { diff --git a/microsphere-spring-context/src/test/java/io/microsphere/spring/beans/factory/annotation/AnnotationBeanDefinitionRegistryPostProcessorTest.java b/microsphere-spring-context/src/test/java/io/microsphere/spring/beans/factory/annotation/AnnotationBeanDefinitionRegistryPostProcessorTest.java index d9e0120c..33489f7d 100644 --- a/microsphere-spring-context/src/test/java/io/microsphere/spring/beans/factory/annotation/AnnotationBeanDefinitionRegistryPostProcessorTest.java +++ b/microsphere-spring-context/src/test/java/io/microsphere/spring/beans/factory/annotation/AnnotationBeanDefinitionRegistryPostProcessorTest.java @@ -24,7 +24,7 @@ import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.context.annotation.Configuration; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.junit4.SpringRunner; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; @@ -44,7 +44,7 @@ * @author Mercy * @since 1.0.0 */ -@RunWith(SpringJUnit4ClassRunner.class) +@RunWith(SpringRunner.class) @ContextConfiguration(classes = { AnnotationBeanDefinitionRegistryPostProcessorTest.ServiceAnnotationBeanDefinitionRegistryPostProcessor.class, AnnotationBeanDefinitionRegistryPostProcessorTest.class diff --git a/microsphere-spring-context/src/test/java/io/microsphere/spring/beans/factory/annotation/AnnotationInjectedBeanPostProcessorTest.java b/microsphere-spring-context/src/test/java/io/microsphere/spring/beans/factory/annotation/AnnotationInjectedBeanPostProcessorTest.java index 5f5e497e..e0a54ed6 100644 --- a/microsphere-spring-context/src/test/java/io/microsphere/spring/beans/factory/annotation/AnnotationInjectedBeanPostProcessorTest.java +++ b/microsphere-spring-context/src/test/java/io/microsphere/spring/beans/factory/annotation/AnnotationInjectedBeanPostProcessorTest.java @@ -17,7 +17,6 @@ package io.microsphere.spring.beans.factory.annotation; import io.microsphere.spring.util.User; -import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; @@ -28,7 +27,10 @@ import org.springframework.core.Ordered; import org.springframework.core.env.Environment; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.junit4.SpringRunner; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; /** * {@link AnnotationInjectedBeanPostProcessor} Test @@ -36,7 +38,7 @@ * @author Mercy * @since 1.0.0 */ -@RunWith(SpringJUnit4ClassRunner.class) +@RunWith(SpringRunner.class) @ContextConfiguration(classes = { AnnotationInjectedBeanPostProcessorTest.TestConfiguration.class, AnnotationInjectedBeanPostProcessorTest.ReferencedAnnotationInjectedBeanPostProcessor.class @@ -67,25 +69,25 @@ public class AnnotationInjectedBeanPostProcessorTest { @Test public void testCustomizedAnnotationBeanPostProcessor() { - Assert.assertEquals(environment, processor.getEnvironment()); - Assert.assertEquals(beanFactory.getBeanClassLoader(), processor.getClassLoader()); - Assert.assertEquals(beanFactory, processor.getBeanFactory()); + assertEquals(environment, processor.getEnvironment()); + assertEquals(beanFactory.getBeanClassLoader(), processor.getClassLoader()); + assertEquals(beanFactory, processor.getBeanFactory()); - Assert.assertEquals(Referenced.class, processor.getAnnotationType()); - Assert.assertEquals(1, processor.getInjectedObjects().size()); - Assert.assertTrue(processor.getInjectedObjects().contains(parent.parentUser)); - Assert.assertEquals(2, processor.getInjectedFieldObjectsMap().size()); - Assert.assertEquals(1, processor.getInjectedMethodObjectsMap().size()); - Assert.assertEquals(Ordered.HIGHEST_PRECEDENCE, processor.getOrder()); + assertEquals(Referenced.class, processor.getAnnotationType()); + assertEquals(1, processor.getInjectedObjects().size()); + assertTrue(processor.getInjectedObjects().contains(parent.parentUser)); + assertEquals(2, processor.getInjectedFieldObjectsMap().size()); + assertEquals(1, processor.getInjectedMethodObjectsMap().size()); + assertEquals(Ordered.HIGHEST_PRECEDENCE, processor.getOrder()); } @Test public void testReferencedUser() { - Assert.assertEquals("mercyblitz", parent.user.getName()); - Assert.assertEquals(32, parent.user.getAge()); - Assert.assertEquals(parent.user, parent.parentUser); - Assert.assertEquals(parent.user, child.childUser); - Assert.assertEquals(parent.user, userHolder.user); + assertEquals("mercyblitz", parent.user.getName()); + assertEquals(32, parent.user.getAge()); + assertEquals(parent.user, parent.parentUser); + assertEquals(parent.user, child.childUser); + assertEquals(parent.user, userHolder.user); } static class TestConfiguration { diff --git a/microsphere-spring-context/src/test/java/io/microsphere/spring/beans/factory/annotation/EnableConfigurationBeanBindingTestForMultipleBinding.java b/microsphere-spring-context/src/test/java/io/microsphere/spring/beans/factory/annotation/EnableConfigurationBeanBindingTestForMultipleBinding.java index d575122f..4e100dbd 100644 --- a/microsphere-spring-context/src/test/java/io/microsphere/spring/beans/factory/annotation/EnableConfigurationBeanBindingTestForMultipleBinding.java +++ b/microsphere-spring-context/src/test/java/io/microsphere/spring/beans/factory/annotation/EnableConfigurationBeanBindingTestForMultipleBinding.java @@ -23,7 +23,6 @@ * @since 1.0.0 */ -import io.microsphere.spring.beans.BeanUtils; import io.microsphere.spring.context.config.DefaultConfigurationBeanBinder; import io.microsphere.spring.util.User; import org.junit.Before; @@ -32,6 +31,7 @@ import java.util.Collection; +import static io.microsphere.spring.beans.BeanUtils.getSortedBeans; import static junit.framework.TestCase.assertTrue; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; @@ -61,7 +61,7 @@ public ConfigurationBeanBindingPostProcessor configurationBeanBindingPostProcess public void init() { aUser = context.getBean("a", User.class); bUser = context.getBean("b", User.class); - users = BeanUtils.getSortedBeans(context, User.class); + users = getSortedBeans(context, User.class); configurationBeanBindingPostProcessor = context.getBean("configurationBeanBindingPostProcessor", ConfigurationBeanBindingPostProcessor.class); } diff --git a/microsphere-spring-context/src/test/java/io/microsphere/spring/beans/factory/config/GenericBeanPostProcessorAdapterTest.java b/microsphere-spring-context/src/test/java/io/microsphere/spring/beans/factory/config/GenericBeanPostProcessorAdapterTest.java index d4615e21..4cfe5a41 100644 --- a/microsphere-spring-context/src/test/java/io/microsphere/spring/beans/factory/config/GenericBeanPostProcessorAdapterTest.java +++ b/microsphere-spring-context/src/test/java/io/microsphere/spring/beans/factory/config/GenericBeanPostProcessorAdapterTest.java @@ -2,7 +2,6 @@ import io.microsphere.spring.test.Bean; import io.microsphere.spring.test.TestBean; -import org.junit.Assert; import org.junit.Test; import org.springframework.beans.BeansException; @@ -92,8 +91,8 @@ public void testPostProcess() { String bean = "test"; - Assert.assertEquals("test", beanPostProcessor.postProcessBeforeInitialization(bean, "")); - Assert.assertEquals("test", beanPostProcessor.postProcessAfterInitialization(bean, "")); + assertEquals("test", beanPostProcessor.postProcessBeforeInitialization(bean, "")); + assertEquals("test", beanPostProcessor.postProcessAfterInitialization(bean, "")); } @Test diff --git a/microsphere-spring-context/src/test/java/io/microsphere/spring/context/event/DeferredApplicationEventPublisherTest.java b/microsphere-spring-context/src/test/java/io/microsphere/spring/context/event/DeferredApplicationEventPublisherTest.java index e10842b2..81949052 100644 --- a/microsphere-spring-context/src/test/java/io/microsphere/spring/context/event/DeferredApplicationEventPublisherTest.java +++ b/microsphere-spring-context/src/test/java/io/microsphere/spring/context/event/DeferredApplicationEventPublisherTest.java @@ -27,7 +27,7 @@ import org.springframework.context.ApplicationEventPublisherAware; import org.springframework.context.ApplicationListener; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.context.support.AnnotationConfigContextLoader; import static org.junit.Assert.assertEquals; @@ -38,7 +38,7 @@ * @author Mercy * @since 1.0.0 */ -@RunWith(SpringJUnit4ClassRunner.class) +@RunWith(SpringRunner.class) @ContextConfiguration( classes = TestConfig.class, loader = AnnotationConfigContextLoader.class diff --git a/microsphere-spring-context/src/test/java/io/microsphere/spring/core/annotation/AnnotationUtilsTest.java b/microsphere-spring-context/src/test/java/io/microsphere/spring/core/annotation/AnnotationUtilsTest.java index d352375e..e6135b9b 100644 --- a/microsphere-spring-context/src/test/java/io/microsphere/spring/core/annotation/AnnotationUtilsTest.java +++ b/microsphere-spring-context/src/test/java/io/microsphere/spring/core/annotation/AnnotationUtilsTest.java @@ -1,6 +1,5 @@ package io.microsphere.spring.core.annotation; -import org.junit.Assert; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowire; import org.springframework.beans.factory.support.AbstractBeanDefinition; @@ -23,11 +22,14 @@ import static io.microsphere.spring.core.annotation.AnnotationUtils.getAnnotationAttributes; import static io.microsphere.spring.core.annotation.AnnotationUtils.getAttribute; import static io.microsphere.spring.core.annotation.AnnotationUtils.getAttributes; +import static io.microsphere.spring.core.annotation.AnnotationUtils.isPresent; import static io.microsphere.spring.util.SpringVersionUtils.SPRING_CONTEXT_VERSION; import static io.microsphere.util.ArrayUtils.of; import static junit.framework.TestCase.assertNull; import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; import static org.springframework.util.ReflectionUtils.findMethod; /** @@ -60,27 +62,21 @@ public void testIsPresent() { Method method = findMethod(RuntimeAnnotationHandler.class, "handle", String.class, String.class); - AnnotationUtils.isPresent(method, RuntimeAnnotation.class); + assertTrue(isPresent(method, RuntimeAnnotation.class)); method = findMethod(RuntimeAnnotationHandler.class, "handle", String.class); - AnnotationUtils.isPresent(method, RuntimeAnnotation.class); + assertTrue(isPresent(method, RuntimeAnnotation.class)); method = findMethod(RuntimeAnnotationHandler.class, "handle"); - AnnotationUtils.isPresent(method, RuntimeAnnotation.class); - - method = findMethod(RuntimeAnnotationHandler.class, "handle"); - - AnnotationUtils.isPresent(method, RuntimeAnnotation.class); - + assertTrue(isPresent(method, RuntimeAnnotation.class)); method = findMethod(ClassAnnotationHandler.class, "echo", String.class); - AnnotationUtils.isPresent(method, ClassAnnotation.class); - + assertFalse(isPresent(method, ClassAnnotation.class)); } @Test @@ -125,7 +121,7 @@ public void testFindAnnotations() { annotationsList = annotationsMap.get(ElementType.PACKAGE); - Assert.assertNull(annotationsList); + assertNull(annotationsList); method = findMethod(ClassAnnotationHandler.class, "handle", @@ -133,12 +129,12 @@ public void testFindAnnotations() { annotationsMap = findAnnotations(method, RuntimeAnnotation.class); - Assert.assertTrue(annotationsMap.isEmpty()); + assertTrue(annotationsMap.isEmpty()); Map> classAnnotationsMap = findAnnotations(method, ClassAnnotation.class); - Assert.assertTrue(classAnnotationsMap.isEmpty()); + assertTrue(classAnnotationsMap.isEmpty()); } @Test @@ -147,10 +143,10 @@ public void testGetAttributes() { Bean annotation = getAnnotation("dummyBean", Bean.class); Map attributes = getAttributes(annotation, true); - Assert.assertTrue(Arrays.equals(new String[]{"dummy-bean"}, (String[]) attributes.get("name"))); + assertTrue(Arrays.equals(new String[]{"dummy-bean"}, (String[]) attributes.get("name"))); attributes = getAttributes(annotation, true); - Assert.assertTrue(Arrays.equals(new String[]{"dummy-bean"}, (String[]) attributes.get("name"))); + assertTrue(Arrays.equals(new String[]{"dummy-bean"}, (String[]) attributes.get("name"))); attributes = getAttributes(annotation, false); if (SPRING_CONTEXT_VERSION.getMajor() < 6) { @@ -171,16 +167,16 @@ public void testGetAttributes() { annotation = getAnnotation("dummyBean2", Bean.class); attributes = getAttributes(annotation, true); - Assert.assertTrue(attributes.isEmpty()); + assertTrue(attributes.isEmpty()); attributes = getAttributes(annotation, environment, true); - Assert.assertTrue(attributes.isEmpty()); + assertTrue(attributes.isEmpty()); environment.setProperty("beanName", "Your Bean Name"); annotation = getAnnotation("dummyBean3", Bean.class); attributes = getAttributes(annotation, environment, true); - Assert.assertTrue(Arrays.deepEquals(of(environment.getProperty("beanName")), (String[]) attributes.get("name"))); + assertTrue(Arrays.deepEquals(of(environment.getProperty("beanName")), (String[]) attributes.get("name"))); } diff --git a/microsphere-spring-context/src/test/java/io/microsphere/spring/core/annotation/GenericAnnotationAttributesTest.java b/microsphere-spring-context/src/test/java/io/microsphere/spring/core/annotation/GenericAnnotationAttributesTest.java index e02edd7b..b03983af 100644 --- a/microsphere-spring-context/src/test/java/io/microsphere/spring/core/annotation/GenericAnnotationAttributesTest.java +++ b/microsphere-spring-context/src/test/java/io/microsphere/spring/core/annotation/GenericAnnotationAttributesTest.java @@ -48,7 +48,7 @@ public void test() { assertEquals(contextConfiguration.loader(), annotationAttributes.getClass("loader")); assertEquals(contextConfiguration.inheritInitializers(), annotationAttributes.getBoolean("inheritInitializers")); assertEquals(contextConfiguration.inheritLocations(), annotationAttributes.getBoolean("inheritLocations")); - assertEquals(contextConfiguration.value(), annotationAttributes.getStringArray("value")); + assertArrayEquals(contextConfiguration.value(), annotationAttributes.getStringArray("value")); } } diff --git a/microsphere-spring-context/src/test/java/io/microsphere/spring/core/env/ListenableConfigurableEnvironmentTest.java b/microsphere-spring-context/src/test/java/io/microsphere/spring/core/env/ListenableConfigurableEnvironmentTest.java index 8c70a045..a1e2f9f0 100644 --- a/microsphere-spring-context/src/test/java/io/microsphere/spring/core/env/ListenableConfigurableEnvironmentTest.java +++ b/microsphere-spring-context/src/test/java/io/microsphere/spring/core/env/ListenableConfigurableEnvironmentTest.java @@ -297,7 +297,7 @@ public void testValidateRequiredProperties() { @Test public void testGetDelegate() { - assertTrue(environment instanceof ListenableConfigurableEnvironment); + assertTrue(ListenableConfigurableEnvironment.class.isInstance(environment)); assertNotSame(environment, environment.getDelegate()); } } diff --git a/microsphere-spring-context/src/test/java/io/microsphere/spring/net/SpringProtocolURLStreamHandlerTest.java b/microsphere-spring-context/src/test/java/io/microsphere/spring/net/SpringProtocolURLStreamHandlerTest.java index 47a475e0..aa4275e9 100644 --- a/microsphere-spring-context/src/test/java/io/microsphere/spring/net/SpringProtocolURLStreamHandlerTest.java +++ b/microsphere-spring-context/src/test/java/io/microsphere/spring/net/SpringProtocolURLStreamHandlerTest.java @@ -21,7 +21,6 @@ import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.TestPropertySource; import org.springframework.test.context.junit4.SpringRunner; -import org.springframework.util.StreamUtils; import java.io.IOException; import java.io.InputStream; @@ -32,6 +31,7 @@ import java.util.List; import static org.junit.Assert.assertNotNull; +import static org.springframework.util.StreamUtils.copyToString; /** * {@link SpringProtocolURLStreamHandler} Test @@ -64,7 +64,7 @@ public void testSpringDelegatingBeanURLConnectionFactory() throws Throwable { private void assertContent(URL url) throws Throwable { String content = null; try (InputStream inputStream = url.openStream()) { - content = StreamUtils.copyToString(inputStream, Charset.defaultCharset()); + content = copyToString(inputStream, Charset.defaultCharset()); } assertNotNull(content); } diff --git a/microsphere-spring-parent/pom.xml b/microsphere-spring-parent/pom.xml index 1aecebe5..540f57dc 100644 --- a/microsphere-spring-parent/pom.xml +++ b/microsphere-spring-parent/pom.xml @@ -20,11 +20,9 @@ 0.0.9 - 5.3.39 4.0.1 2.18.2 2.3 - 6.1.10.RELEASE 1.7.36 1.2.12 4.13.2 @@ -35,15 +33,6 @@ - - - io.github.microsphere-projects - microsphere-java-dependencies - ${microsphere-java.version} - pom - import - - org.springframework @@ -62,13 +51,6 @@ import - - - io.lettuce - lettuce-core - ${lettuce.version} - - org.yaml @@ -100,7 +82,7 @@ import - + org.skyscreamer jsonassert @@ -114,6 +96,15 @@ ${logback.version} + + + io.github.microsphere-projects + microsphere-java-dependencies + ${microsphere-java.version} + pom + import + + @@ -148,6 +139,9 @@ spring-framework-5.3 + + true + 5.3.39 diff --git a/microsphere-spring-web/src/main/java/io/microsphere/spring/web/metadata/Jackson2WebEndpointMappingFactory.java b/microsphere-spring-web/src/main/java/io/microsphere/spring/web/metadata/Jackson2WebEndpointMappingFactory.java index 7eb6c770..f0180ed0 100644 --- a/microsphere-spring-web/src/main/java/io/microsphere/spring/web/metadata/Jackson2WebEndpointMappingFactory.java +++ b/microsphere-spring-web/src/main/java/io/microsphere/spring/web/metadata/Jackson2WebEndpointMappingFactory.java @@ -17,7 +17,8 @@ package io.microsphere.spring.web.metadata; import com.fasterxml.jackson.databind.ObjectMapper; -import org.springframework.util.ClassUtils; + +import static org.springframework.util.ClassUtils.isPresent; /** * The {@link WebEndpointMappingFactory} class based on Jackson2 for JSON @@ -31,7 +32,7 @@ public class Jackson2WebEndpointMappingFactory extends AbstractWebEndpointMappin private static final ClassLoader classLoader = Jackson2WebEndpointMappingFactory.class.getClassLoader(); - private static final boolean objectMapperPresent = ClassUtils.isPresent(OBJECT_MAPPER_CLASS_NAME, classLoader); + private static final boolean objectMapperPresent = isPresent(OBJECT_MAPPER_CLASS_NAME, classLoader); @Override public boolean supports(String endpoint) { diff --git a/microsphere-spring-web/src/main/java/io/microsphere/spring/web/rule/WebRequestPattensRule.java b/microsphere-spring-web/src/main/java/io/microsphere/spring/web/rule/WebRequestPattensRule.java index 35b6f60c..dd18830a 100644 --- a/microsphere-spring-web/src/main/java/io/microsphere/spring/web/rule/WebRequestPattensRule.java +++ b/microsphere-spring-web/src/main/java/io/microsphere/spring/web/rule/WebRequestPattensRule.java @@ -17,7 +17,6 @@ package io.microsphere.spring.web.rule; import org.springframework.util.AntPathMatcher; -import org.springframework.util.ObjectUtils; import org.springframework.util.PathMatcher; import org.springframework.web.context.request.NativeWebRequest; import org.springframework.web.util.UrlPathHelper; @@ -33,6 +32,7 @@ import static io.microsphere.spring.web.util.WebRequestUtils.getResolvedLookupPath; import static io.microsphere.spring.web.util.WebRequestUtils.isPreFlightRequest; +import static io.microsphere.util.ArrayUtils.isNotEmpty; import static org.springframework.util.StringUtils.hasLength; import static org.springframework.util.StringUtils.hasText; @@ -232,7 +232,7 @@ private static Set initPatterns(String[] patterns) { } private static boolean hasPattern(String[] patterns) { - if (!ObjectUtils.isEmpty(patterns)) { + if (isNotEmpty(patterns)) { for (String pattern : patterns) { if (hasText(pattern)) { return true; diff --git a/microsphere-spring-web/src/main/java/io/microsphere/spring/web/rule/WebRequestProducesRule.java b/microsphere-spring-web/src/main/java/io/microsphere/spring/web/rule/WebRequestProducesRule.java index 016523d8..a5022194 100644 --- a/microsphere-spring-web/src/main/java/io/microsphere/spring/web/rule/WebRequestProducesRule.java +++ b/microsphere-spring-web/src/main/java/io/microsphere/spring/web/rule/WebRequestProducesRule.java @@ -17,7 +17,6 @@ package io.microsphere.spring.web.rule; import org.springframework.http.MediaType; -import org.springframework.util.CollectionUtils; import org.springframework.web.HttpMediaTypeException; import org.springframework.web.HttpMediaTypeNotAcceptableException; import org.springframework.web.accept.ContentNegotiationManager; @@ -30,6 +29,7 @@ import java.util.Collections; import java.util.List; +import static io.microsphere.collection.CollectionUtils.isNotEmpty; import static io.microsphere.spring.util.MimeTypeUtils.isPresentIn; import static io.microsphere.spring.web.rule.ProduceMediaTypeExpression.parseExpressions; import static io.microsphere.spring.web.util.WebRequestUtils.isPreFlightRequest; @@ -110,7 +110,7 @@ public boolean matches(NativeWebRequest request) { return false; } List result = getMatchingExpressions(acceptedMediaTypes); - if (!CollectionUtils.isEmpty(result)) { + if (isNotEmpty(result)) { return false; } else if (isPresentIn(MediaType.ALL, acceptedMediaTypes)) { return false; diff --git a/microsphere-spring-webmvc/src/main/java/io/microsphere/spring/webmvc/config/ConfigurableContentNegotiationManagerWebMvcConfigurer.java b/microsphere-spring-webmvc/src/main/java/io/microsphere/spring/webmvc/config/ConfigurableContentNegotiationManagerWebMvcConfigurer.java index 280f23de..7d47b8a9 100644 --- a/microsphere-spring-webmvc/src/main/java/io/microsphere/spring/webmvc/config/ConfigurableContentNegotiationManagerWebMvcConfigurer.java +++ b/microsphere-spring-webmvc/src/main/java/io/microsphere/spring/webmvc/config/ConfigurableContentNegotiationManagerWebMvcConfigurer.java @@ -2,7 +2,6 @@ import org.springframework.beans.MutablePropertyValues; import org.springframework.http.MediaType; -import org.springframework.util.ReflectionUtils; import org.springframework.validation.DataBinder; import org.springframework.web.accept.ContentNegotiationManager; import org.springframework.web.accept.ContentNegotiationManagerFactoryBean; @@ -11,7 +10,6 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; import java.beans.PropertyEditorSupport; -import java.lang.reflect.Field; import java.util.LinkedHashMap; import java.util.Map; @@ -44,37 +42,31 @@ public ConfigurableContentNegotiationManagerWebMvcConfigurer(Map public void configureContentNegotiation(final ContentNegotiationConfigurer configurer) { - doWithFields(configurer.getClass(), new ReflectionUtils.FieldCallback() { - @Override - public void doWith(Field field) throws IllegalArgumentException, IllegalAccessException { + doWithFields(configurer.getClass(), field -> { - boolean accessible = field.isAccessible(); + boolean accessible = field.isAccessible(); - try { + try { - if (!accessible) { - field.setAccessible(true); - } - - ContentNegotiationManagerFactoryBean factoryBean = (ContentNegotiationManagerFactoryBean) field.get(configurer); + if (!accessible) { + field.setAccessible(true); + } - configureContentNegotiationManagerFactoryBean(factoryBean); + ContentNegotiationManagerFactoryBean factoryBean = (ContentNegotiationManagerFactoryBean) field.get(configurer); - } finally { + configureContentNegotiationManagerFactoryBean(factoryBean); - if (!accessible) { - field.setAccessible(accessible); - } + } finally { + if (!accessible) { + field.setAccessible(accessible); } } - }, new ReflectionUtils.FieldFilter() { - @Override - public boolean matches(Field field) { - Class fieldType = field.getType(); - return FACTORY_BEAN_FIELD_CLASS.isAssignableFrom(fieldType); - } + + }, field -> { + Class fieldType = field.getType(); + return FACTORY_BEAN_FIELD_CLASS.isAssignableFrom(fieldType); }); } @@ -135,9 +127,7 @@ private static Map extraProperties(Map map) { properties.put(key, value.toString()); } - } - } return properties; diff --git a/microsphere-spring-webmvc/src/main/java/io/microsphere/spring/webmvc/interceptor/AbstractPageRenderContextHandlerInterceptor.java b/microsphere-spring-webmvc/src/main/java/io/microsphere/spring/webmvc/interceptor/AbstractPageRenderContextHandlerInterceptor.java index 58a2f541..1510f5ef 100644 --- a/microsphere-spring-webmvc/src/main/java/io/microsphere/spring/webmvc/interceptor/AbstractPageRenderContextHandlerInterceptor.java +++ b/microsphere-spring-webmvc/src/main/java/io/microsphere/spring/webmvc/interceptor/AbstractPageRenderContextHandlerInterceptor.java @@ -1,6 +1,5 @@ package io.microsphere.spring.webmvc.interceptor; -import io.microsphere.spring.webmvc.util.WebMvcUtils; import org.springframework.web.method.HandlerMethod; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; @@ -9,6 +8,8 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import static io.microsphere.spring.webmvc.util.WebMvcUtils.isPageRenderRequest; + /** * Abstract Page Render Context {@link HandlerInterceptor} * @@ -22,17 +23,9 @@ public abstract class AbstractPageRenderContextHandlerInterceptor extends Handle public final void postHandle( HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { - - if (WebMvcUtils.isPageRenderRequest(modelAndView)) { - + if (isPageRenderRequest(modelAndView)) { postHandleOnPageRenderContext(request, response, handler, modelAndView); - - } else { - - super.postHandle(request, response, handler, modelAndView); - } - } /** diff --git a/microsphere-spring-webmvc/src/main/java/io/microsphere/spring/webmvc/util/WebMvcUtils.java b/microsphere-spring-webmvc/src/main/java/io/microsphere/spring/webmvc/util/WebMvcUtils.java index 15f750da..01177609 100644 --- a/microsphere-spring-webmvc/src/main/java/io/microsphere/spring/webmvc/util/WebMvcUtils.java +++ b/microsphere-spring-webmvc/src/main/java/io/microsphere/spring/webmvc/util/WebMvcUtils.java @@ -1,15 +1,11 @@ package io.microsphere.spring.webmvc.util; -import io.microsphere.spring.web.servlet.util.WebUtils; import org.springframework.context.ApplicationContextInitializer; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.core.MethodParameter; -import org.springframework.core.annotation.AnnotationUtils; import org.springframework.http.converter.HttpMessageConverter; import org.springframework.http.converter.StringHttpMessageConverter; import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; -import org.springframework.util.ObjectUtils; -import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.context.ContextLoader; @@ -40,14 +36,20 @@ import java.util.List; import java.util.Set; +import static io.microsphere.spring.web.servlet.util.WebUtils.findServletRegistrations; +import static io.microsphere.util.ArrayUtils.isNotEmpty; import static io.microsphere.util.ClassLoaderUtils.isPresent; +import static org.springframework.core.annotation.AnnotationUtils.findAnnotation; import static org.springframework.util.Assert.notNull; import static org.springframework.util.ReflectionUtils.findMethod; import static org.springframework.util.ReflectionUtils.invokeMethod; +import static org.springframework.util.StringUtils.arrayToDelimitedString; import static org.springframework.util.StringUtils.hasLength; +import static org.springframework.util.StringUtils.hasText; import static org.springframework.web.context.ContextLoader.CONTEXT_INITIALIZER_CLASSES_PARAM; import static org.springframework.web.context.ContextLoader.GLOBAL_INITIALIZER_CLASSES_PARAM; import static org.springframework.web.context.support.WebApplicationContextUtils.getRequiredWebApplicationContext; +import static org.springframework.web.servlet.support.RequestContextUtils.findWebApplicationContext; /** * Spring Web MVC Utilities Class @@ -308,7 +310,7 @@ public static T getHandlerMethodReturnValue(Method method) { * @return If {@link ControllerAdvice} bean type is present , return true , or false. */ public static boolean isControllerAdviceBeanType(Class beanType) { - return AnnotationUtils.findAnnotation(beanType, ControllerAdvice.class) != null; + return findAnnotation(beanType, ControllerAdvice.class) != null; } /** @@ -340,7 +342,7 @@ public static WebApplicationContext getWebApplicationContext(HttpServletRequest if (webApplicationContext == null) { - webApplicationContext = RequestContextUtils.findWebApplicationContext(request, servletContext); + webApplicationContext = findWebApplicationContext(request, servletContext); } @@ -356,13 +358,13 @@ protected static String appendInitParameter(String existedParameterValue, String List parameterValuesList = new ArrayList(); - if (!ObjectUtils.isEmpty(existedParameterValues)) { + if (isNotEmpty(existedParameterValues)) { parameterValuesList.addAll(Arrays.asList(existedParameterValues)); } parameterValuesList.addAll(Arrays.asList(parameterValues)); - String newParameterValue = StringUtils.arrayToDelimitedString(parameterValuesList.toArray(), ","); + String newParameterValue = arrayToDelimitedString(parameterValuesList.toArray(), ","); return newParameterValue; } @@ -376,8 +378,8 @@ protected static String appendInitParameter(String existedParameterValue, String */ public static void appendInitParameters(ServletContext servletContext, String parameterName, String... parameterValues) { - notNull(servletContext); - notNull(parameterValues); + notNull(servletContext, "The argument 'servletContext' must not be null!"); + notNull(parameterValues, "The argument 'parameterValues' must not be null!"); String existedParameterValue = servletContext.getInitParameter(parameterName); @@ -435,7 +437,7 @@ public static void appendFrameworkServletContextInitializerClassInitParameter( Class contextInitializerClass) { Collection servletRegistrations = - WebUtils.findServletRegistrations(servletContext, FrameworkServlet.class).values(); + findServletRegistrations(servletContext, FrameworkServlet.class).values(); for (ServletRegistration servletRegistration : servletRegistrations) { String contextInitializerClassName = servletRegistration.getInitParameter(CONTEXT_INITIALIZER_CLASSES_PARAM); @@ -452,17 +454,11 @@ public static void appendFrameworkServletContextInitializerClassInitParameter( * @return If current request is for page render , return true , or false. */ public static boolean isPageRenderRequest(ModelAndView modelAndView) { - if (modelAndView != null) { - String viewName = modelAndView.getViewName(); - - return StringUtils.hasText(viewName); - + return hasText(viewName); } - return false; - } private static String getHandlerMethodRequestBodyArgumentAttributeName(Method method) { diff --git a/microsphere-spring-webmvc/src/test/java/io/microsphere/spring/webmvc/metadata/RequestMappingInfoWebEndpointMappingFactoryTest.java b/microsphere-spring-webmvc/src/test/java/io/microsphere/spring/webmvc/metadata/RequestMappingInfoWebEndpointMappingFactoryTest.java index 755631c6..05716a49 100644 --- a/microsphere-spring-webmvc/src/test/java/io/microsphere/spring/webmvc/metadata/RequestMappingInfoWebEndpointMappingFactoryTest.java +++ b/microsphere-spring-webmvc/src/test/java/io/microsphere/spring/webmvc/metadata/RequestMappingInfoWebEndpointMappingFactoryTest.java @@ -24,7 +24,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.context.web.WebAppConfiguration; import org.springframework.web.method.HandlerMethod; import org.springframework.web.servlet.mvc.method.RequestMappingInfo; @@ -44,7 +44,7 @@ * @author Mercy * @since 1.0.0 */ -@RunWith(SpringJUnit4ClassRunner.class) +@RunWith(SpringRunner.class) @WebAppConfiguration @ContextConfiguration(classes = { TestController.class, From 6a19df7e7342ffab8e59104dcb042b787d509b1c Mon Sep 17 00:00:00 2001 From: Mercy Date: Fri, 10 Jan 2025 23:02:33 +0800 Subject: [PATCH 2/2] Polish #89 --- microsphere-spring-context/pom.xml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/microsphere-spring-context/pom.xml b/microsphere-spring-context/pom.xml index b72e50c6..1a62de63 100644 --- a/microsphere-spring-context/pom.xml +++ b/microsphere-spring-context/pom.xml @@ -117,12 +117,6 @@ test - - io.lettuce - lettuce-core - test - -