From 26f531f79a180cf18a2ac24845c5dde14bee523b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= Date: Mon, 6 Mar 2023 11:06:36 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90fix=20sonar=E3=80=91SpringContextUtils?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jero/common/util/SpringContextUtils.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/util/SpringContextUtils.java b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/util/SpringContextUtils.java index cd549d0e..6d2c86e5 100644 --- a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/util/SpringContextUtils.java +++ b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/util/SpringContextUtils.java @@ -1,7 +1,5 @@ package com.jero.common.util; -import javax.servlet.http.HttpServletRequest; - import com.jero.common.constant.ServiceNameConstants; import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; @@ -10,6 +8,9 @@ import org.springframework.stereotype.Component; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; +import javax.servlet.http.HttpServletRequest; +import java.util.Objects; + @Component public class SpringContextUtils implements ApplicationContextAware { @@ -20,7 +21,11 @@ public class SpringContextUtils implements ApplicationContextAware { @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { - SpringContextUtils.applicationContext = applicationContext; + synchronized (SpringContextUtils.class){ + if(SpringContextUtils.applicationContext == null){ + SpringContextUtils.applicationContext = applicationContext; + } + } } /** @@ -36,7 +41,7 @@ public class SpringContextUtils implements ApplicationContextAware { * 获取HttpServletRequest */ public static HttpServletRequest getHttpServletRequest() { - return ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + return ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); } /** @@ -58,7 +63,7 @@ public class SpringContextUtils implements ApplicationContextAware { HttpServletRequest request = getHttpServletRequest(); return request.getHeader("Origin"); } - + /** * 通过name获取 Bean. *