集成说明

业务域进行垂直应用开发时,当部署的垂直服务需支持多租户(多数据源)时,
以下为集成指引 springboot 2.0+

1. 依赖添加

        <dependency>
            <groupId>com.cvte.lcp.saas</groupId>
            <artifactId>saas-base</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>

        <dependency>
            <groupId>com.cvte.lcp</groupId>
            <artifactId>lcp-base-seata</artifactId>
            <version>2.0.0-SNAPSHOT</version>
        </dependency>

        <dependency>
            <groupId>com.cvte.csb.trace</groupId>
            <artifactId>csb-zipkin</artifactId>
            <version>3.0.2</version>
            <exclusions>
                <exclusion>
                    <groupId>com.cvte.csb</groupId>
                    <artifactId>csb-base</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

2. 配置添加

csb.mybatis.basePackage=需要扫描的mapper目录1,需要扫描的mapper目录2

lcp.saas.appName = nacos上的dataId
lcp.default.tenantId = 对应租户id  # 开发阶段使用

3. 启动类注解说明

@EnableLcpSaaSDatasource替代@EnableCSBMybatis

@EnableCSBConfig({"platform.lcpSeata","platform.tzNacos","platform.zipkin"})
@EnableLcpSaaSDatasource
//@EnableCSBMybatis
public class Bootstrap {

}

4. 全局Web拦截器

@Configuration
public class AppConfiguration extends WebMvcConfigurerAdapter {

    @Bean
    public SaaSTenantInterceptor saasVerifyInterceptor() {
        return new SaaSTenantInterceptor();
    }

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        // 多数据源拦截器
        registry.addInterceptor(saasVerifyInterceptor()).addPathPatterns("/**")
                .excludePathPatterns("/favicon*","/swagger-ui/**", "/v3/api-docs","/error", "/v2/api-docs", "/swagger-resources/**");
    }
}
作者:叶端旺  创建时间:2023-11-14 15:39
最后编辑:叶端旺  更新时间:2024-12-11 10:09