From 646b73a7a3c24a8e80dd1c79fcd44090390ea5ca Mon Sep 17 00:00:00 2001 From: lijiahang Date: Tue, 11 Jul 2023 10:56:37 +0800 Subject: [PATCH] review code. --- .../OrionDatasourceAutoConfiguration.java | 11 ---------- .../config/OrionLogPrinterConfiguration.java | 22 +++++++++---------- .../log/core/config/LogPrinterConfig.java | 7 +++++- .../spring-configuration-metadata.json | 12 +++++----- ...AnnotationAuthorizeRequestsCustomizer.java | 2 +- .../web/core/filter/TraceIdFilter.java | 8 ++----- 6 files changed, 26 insertions(+), 36 deletions(-) diff --git a/orion-ops-framework/orion-ops-spring-boot-starter-datasource/src/main/java/com/orion/ops/framework/datasource/config/OrionDatasourceAutoConfiguration.java b/orion-ops-framework/orion-ops-spring-boot-starter-datasource/src/main/java/com/orion/ops/framework/datasource/config/OrionDatasourceAutoConfiguration.java index 8a1d3cc5..937bb5a7 100644 --- a/orion-ops-framework/orion-ops-spring-boot-starter-datasource/src/main/java/com/orion/ops/framework/datasource/config/OrionDatasourceAutoConfiguration.java +++ b/orion-ops-framework/orion-ops-spring-boot-starter-datasource/src/main/java/com/orion/ops/framework/datasource/config/OrionDatasourceAutoConfiguration.java @@ -1,6 +1,5 @@ package com.orion.ops.framework.datasource.config; -import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.spring.boot.autoconfigure.properties.DruidStatProperties; import com.orion.ops.framework.datasource.core.filter.DruidAdRemoveFilter; import org.springframework.boot.autoconfigure.AutoConfiguration; @@ -10,8 +9,6 @@ import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.transaction.annotation.EnableTransactionManagement; -import javax.sql.DataSource; - /** * 数据源配置类 * @@ -24,14 +21,6 @@ import javax.sql.DataSource; @EnableConfigurationProperties(DruidStatProperties.class) public class OrionDatasourceAutoConfiguration { - /** - * @return druid 数据源 - */ - @Bean - public DataSource druidDataSource() { - return new DruidDataSource(); - } - /** * @param properties 配置 * @return druid 广告过滤器 diff --git a/orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/config/OrionLogPrinterConfiguration.java b/orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/config/OrionLogPrinterConfiguration.java index 351d12b0..98bf9dff 100644 --- a/orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/config/OrionLogPrinterConfiguration.java +++ b/orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/config/OrionLogPrinterConfiguration.java @@ -6,13 +6,14 @@ import com.orion.ops.framework.log.core.interceptor.LogPrinterInterceptor; import com.orion.ops.framework.log.core.interceptor.PrettyLogPrinterInterceptor; import com.orion.ops.framework.log.core.interceptor.RowLogPrinterInterceptor; import org.springframework.aop.aspectj.AspectJExpressionPointcutAdvisor; -import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; +import javax.annotation.Resource; + /** * 全局日志打印配置类 * @@ -24,37 +25,36 @@ import org.springframework.context.annotation.Bean; @EnableConfigurationProperties(LogPrinterConfig.class) public class OrionLogPrinterConfiguration { + @Resource + private LogPrinterConfig config; + /** - * @param config config * @return 美化日志打印器 */ @Bean(initMethod = "init") - @ConditionalOnProperty(value = "logging.printer.mode", havingValue = "pretty") - public LogPrinterInterceptor prettyPrinter(LogPrinterConfig config) { + @ConditionalOnProperty(value = "orion.logging.printer.mode", havingValue = "pretty") + public LogPrinterInterceptor prettyPrinter() { return new PrettyLogPrinterInterceptor(config); } /** - * @param config config * @return 单行日志打印器 */ @Bean(initMethod = "init") - @ConditionalOnProperty(value = "logging.printer.mode", havingValue = "row") - public LogPrinterInterceptor rowPrinter(LogPrinterConfig config) { + @ConditionalOnProperty(value = "orion.logging.printer.mode", havingValue = "row") + public LogPrinterInterceptor rowPrinter() { return new RowLogPrinterInterceptor(config); } /** * @param logPrinterInterceptor logPrinterInterceptor - * @param expression 切面表达式 * @return 日志打印切面 */ @Bean @ConditionalOnBean(LogPrinterInterceptor.class) - public AspectJExpressionPointcutAdvisor logPrinterAdvisor(LogPrinterInterceptor logPrinterInterceptor, - @Value("${logging.printer.expression}") String expression) { + public AspectJExpressionPointcutAdvisor logPrinterAdvisor(LogPrinterInterceptor logPrinterInterceptor) { AspectJExpressionPointcutAdvisor advisor = new AspectJExpressionPointcutAdvisor(); - advisor.setExpression(expression); + advisor.setExpression(config.getExpression()); advisor.setAdvice(logPrinterInterceptor); advisor.setOrder(InterceptorOrderConst.LOG_FILTER); return advisor; diff --git a/orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/core/config/LogPrinterConfig.java b/orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/core/config/LogPrinterConfig.java index 1a51272c..f8480dfe 100644 --- a/orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/core/config/LogPrinterConfig.java +++ b/orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/core/config/LogPrinterConfig.java @@ -14,7 +14,7 @@ import java.util.List; * @since 2023/6/28 22:36 */ @Data -@ConfigurationProperties("logging.printer") +@ConfigurationProperties("orion.logging.printer") public class LogPrinterConfig { /** @@ -27,6 +27,11 @@ public class LogPrinterConfig { */ private List headers; + /** + * 切面表达式 + */ + private String expression; + public void setField(LogPrinterFieldConfig field) { this.field = field; } diff --git a/orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/resources/META-INF/spring-configuration-metadata.json b/orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/resources/META-INF/spring-configuration-metadata.json index 960a1b18..528adcd4 100644 --- a/orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/resources/META-INF/spring-configuration-metadata.json +++ b/orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/resources/META-INF/spring-configuration-metadata.json @@ -1,35 +1,35 @@ { "groups": [ { - "name": "logging.printer", + "name": "orion.logging.printer", "type": "com.orion.ops.framework.log.core.config.LogPrinterConfig", "sourceType": "com.orion.ops.framework.log.core.config.LogPrinterConfig" } ], "properties": [ { - "name": "logging.printer.mode", + "name": "orion.logging.printer.mode", "type": "com.orion.ops.framework.log.core.enums.LogPrinterMode", "description": "日志打印模型.", "defaultValue": "NONE" }, { - "name": "logging.printer.expression", + "name": "orion.logging.printer.expression", "type": "java.lang.String", "description": "aspectj 表达式." }, { - "name": "logging.printer.headers", + "name": "orion.logging.printer.headers", "type": "java.util.List", "description": "需要打印的 HttpHandlers." }, { - "name": "logging.printer.field.ignore", + "name": "orion.logging.printer.field.ignore", "type": "java.util.List", "description": "忽略打印的字段." }, { - "name": "logging.printer.field.desensitize", + "name": "orion.logging.printer.field.desensitize", "type": "java.util.List", "description": "需要脱敏的字段." } diff --git a/orion-ops-framework/orion-ops-spring-boot-starter-security/src/main/java/com/orion/ops/framework/security/core/strategy/PermitAllAnnotationAuthorizeRequestsCustomizer.java b/orion-ops-framework/orion-ops-spring-boot-starter-security/src/main/java/com/orion/ops/framework/security/core/strategy/PermitAllAnnotationAuthorizeRequestsCustomizer.java index 845df935..cb1ba768 100644 --- a/orion-ops-framework/orion-ops-spring-boot-starter-security/src/main/java/com/orion/ops/framework/security/core/strategy/PermitAllAnnotationAuthorizeRequestsCustomizer.java +++ b/orion-ops-framework/orion-ops-spring-boot-starter-security/src/main/java/com/orion/ops/framework/security/core/strategy/PermitAllAnnotationAuthorizeRequestsCustomizer.java @@ -56,7 +56,7 @@ public class PermitAllAnnotationAuthorizeRequestsCustomizer extends AuthorizeReq Set deleteList = new HashSet<>(); Set requestList = new HashSet<>(); // 获取 RequestMappingHandlerMapping - RequestMappingHandlerMapping requestMappingHandlerMapping = applicationContext.getBean(RequestMappingHandlerMapping.class); + RequestMappingHandlerMapping requestMappingHandlerMapping = applicationContext.getBean("requestMappingHandlerMapping", RequestMappingHandlerMapping.class); // 获得接口对应的 HandlerMethod Map handlerMethodMap = requestMappingHandlerMapping.getHandlerMethods(); // 获得有 @PermitAll 注解的接口 diff --git a/orion-ops-framework/orion-ops-spring-boot-starter-web/src/main/java/com/orion/ops/framework/web/core/filter/TraceIdFilter.java b/orion-ops-framework/orion-ops-spring-boot-starter-web/src/main/java/com/orion/ops/framework/web/core/filter/TraceIdFilter.java index fb72feff..1dcf08f4 100644 --- a/orion-ops-framework/orion-ops-spring-boot-starter-web/src/main/java/com/orion/ops/framework/web/core/filter/TraceIdFilter.java +++ b/orion-ops-framework/orion-ops-spring-boot-starter-web/src/main/java/com/orion/ops/framework/web/core/filter/TraceIdFilter.java @@ -20,10 +20,6 @@ import java.io.IOException; */ public class TraceIdFilter extends OncePerRequestFilter { - private static final String TRACE_ID_HEADER = "trace-id"; - - private static final String TRACE_ID_MDC = "tid"; - @Override protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException { try { @@ -32,9 +28,9 @@ public class TraceIdFilter extends OncePerRequestFilter { // 设置应用上下文 TraceIdHolder.set(traceId); // 设置日志上下文 - MDC.put(TRACE_ID_MDC, traceId); + MDC.put(TraceIdHolder.TRACE_ID_MDC, traceId); // 设置响应头 - response.setHeader(TRACE_ID_HEADER, traceId); + response.setHeader(TraceIdHolder.TRACE_ID_HEADER, traceId); // 执行请求 filterChain.doFilter(request, response); } finally {