瀏覽代碼

增加动态数据库配置

lixing 3 年之前
父節點
當前提交
4538f37201

+ 0 - 6
apm-common/pom.xml

@@ -100,12 +100,6 @@
             <version>2.9.2</version>
             <scope>compile</scope>
         </dependency>
-<!--        <dependency>-->
-<!--            <groupId>io.swagger</groupId>-->
-<!--            <artifactId>swagger-annotations</artifactId>-->
-<!--            <version>1.5.22</version>-->
-<!--            <scope>compile</scope>-->
-<!--        </dependency>-->
         <dependency>
             <groupId>com.github.xiaoymin</groupId>
             <artifactId>knife4j-spring-boot-starter</artifactId>

+ 0 - 32
apm-common/src/main/java/com/persagy/apm/common/config/CommonWebConfigurer.java

@@ -1,32 +0,0 @@
-package com.persagy.apm.common.config;
-
-import com.persagy.apm.common.handler.AppContextHandler;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.core.annotation.Order;
-import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
-
-/**
- * @description:
- * @author: lixing
- * @company: Persagy Technology Co.,Ltd
- * @since: 2021/3/8 10:06 上午
- * @version: V1.0
- **/
-@Configuration
-@Order(1)
-public class CommonWebConfigurer implements WebMvcConfigurer {
-
-//    @Bean
-//    public AppContextHandler appContextHandler() {
-//        return new AppContextHandler();
-//    }
-
-    @Override
-    public void addInterceptors(InterceptorRegistry registry) {
-        // 设置拦截的路径、不拦截的路径、优先级等等
-//        registry.addInterceptor(appContextHandler()).order(10).addPathPatterns("/**");
-    }
-
-}

+ 1 - 69
apm-common/src/main/java/com/persagy/apm/common/config/SwaggerDisplayConfig.java

@@ -3,38 +3,21 @@ package com.persagy.apm.common.config;
 import com.fasterxml.classmate.ResolvedType;
 import com.google.common.base.Optional;
 import com.persagy.apm.common.model.annotation.SwaggerDisplayEnum;
-import com.persagy.common.enums.ResponseCode;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
-import org.assertj.core.util.Lists;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Primary;
 import org.springframework.core.annotation.AnnotationUtils;
 import org.springframework.stereotype.Component;
 import org.springframework.util.ReflectionUtils;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RestController;
-import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
 import springfox.documentation.builders.ModelPropertyBuilder;
-import springfox.documentation.builders.PathSelectors;
-import springfox.documentation.builders.RequestHandlerSelectors;
-import springfox.documentation.builders.ResponseMessageBuilder;
 import springfox.documentation.schema.Annotations;
-import springfox.documentation.schema.ModelRef;
-import springfox.documentation.service.ApiInfo;
-import springfox.documentation.service.Contact;
-import springfox.documentation.service.ResponseMessage;
 import springfox.documentation.spi.DocumentationType;
 import springfox.documentation.spi.schema.ModelPropertyBuilderPlugin;
 import springfox.documentation.spi.schema.contexts.ModelPropertyContext;
-import springfox.documentation.spring.web.plugins.Docket;
 import springfox.documentation.swagger.schema.ApiModelProperties;
 
 import java.lang.reflect.Field;
-import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 import java.util.Objects;
@@ -49,50 +32,7 @@ import java.util.stream.Collectors;
 @Component
 @Primary
 @Slf4j
-public class SwaggerDisplayConfig extends WebMvcConfigurationSupport implements ModelPropertyBuilderPlugin {
-    @Value("${swagger.title:接口文档}")
-    private String title;
-    @Value("${swagger.desc:--}")
-    private String desc;
-    @Value("${swagger.version:v1.0.0}")
-    private String version;
-    @Value("${swagger.author:persagy}")
-    private String author;
-    @Value("${swagger.serviceUrl:www.persagy.com}")
-    private String serviceUrl;
-    @Value("${swagger.groupName:api}")
-    private String groupName;
-
-    @Bean
-    public Docket docket() {
-        List<ResponseMessage> responseMessageList = Lists.newArrayList();
-        return new Docket(DocumentationType.SWAGGER_2)
-                .globalResponseMessage(RequestMethod.GET, responseMessageList)
-                .globalResponseMessage(RequestMethod.POST, responseMessageList)
-                .globalResponseMessage(RequestMethod.PUT, responseMessageList)
-                .globalResponseMessage(RequestMethod.DELETE, responseMessageList)
-                .apiInfo(apiInfo())
-                .select()
-                .apis(RequestHandlerSelectors.withClassAnnotation(RestController.class))
-                .paths(PathSelectors.any())
-                .build().groupName(groupName);
-    }
-
-    private ApiInfo apiInfo() {
-        //作者信息
-        Contact contact = new Contact(author, "www.persagy.com", "");
-        return new ApiInfo(
-                title,
-                desc,
-                version,
-                serviceUrl,
-                contact,
-                "",
-                "",
-                new ArrayList<>()
-        );
-    }
-
+public class SwaggerDisplayConfig implements ModelPropertyBuilderPlugin {
     @Override
     public void apply(ModelPropertyContext context) {
         //获取当前字段的类型
@@ -185,12 +125,4 @@ public class SwaggerDisplayConfig extends WebMvcConfigurationSupport implements
     public boolean supports(DocumentationType documentationType) {
         return true;
     }
-
-    @Override
-    protected void addResourceHandlers(ResourceHandlerRegistry registry) {
-        registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");
-        registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
-        registry.addResourceHandler("/img/**").addResourceLocations("classpath:/META-INF/resources/");
-        registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
-    }
 }

+ 0 - 26
apm-mybatis/src/main/java/com/persagy/apm/mybatis/config/MyBatisWebConfigurer.java

@@ -1,26 +0,0 @@
-package com.persagy.apm.mybatis.config;
-
-import org.springframework.context.annotation.Configuration;
-import org.springframework.core.annotation.Order;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
-
-/**
- * MyBatis配置
- * @author Charlie Yu
- * @date 2021-03-29
- */
-@Configuration
-@Order(2)
-public class MyBatisWebConfigurer implements WebMvcConfigurer {
-
-//    @Bean
-//    public DynamicDataSourceHandler dynamicDataSourceHandler() {
-//        return new DynamicDataSourceHandler();
-//    }
-//
-//    @Override
-//    public void addInterceptors(InterceptorRegistry registry) {
-//        // 设置拦截的路径、不拦截的路径、优先级等等 -- 在contextHandler之后执行
-//        registry.addInterceptor(dynamicDataSourceHandler()).order(20).addPathPatterns("/**");
-//    }
-}

+ 2 - 0
apm-mybatis/src/main/java/com/persagy/apm/mybatis/handler/DynamicDataSourceHandler.java

@@ -11,6 +11,7 @@ import com.persagy.apm.mybatis.service.IDbService;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
 import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
 
 import javax.servlet.http.HttpServletRequest;
@@ -22,6 +23,7 @@ import javax.sql.DataSource;
  * @author Charlie Yu
  * @date 2021-03-29
  */
+@Component
 public class DynamicDataSourceHandler extends HandlerInterceptorAdapter {
 
     /** 忽略的url - swagger的文档不校验 */