From 82256b2aefd090ea661242dbc22554275df8da0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=80=E6=BA=90=E6=B5=B7=E5=93=A5?= Date: Fri, 21 Jul 2023 09:18:02 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=9C=A8=20Controller?= =?UTF-8?q?=20=E9=80=9A=E8=BF=87=E6=B3=A8=E8=A7=A3=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=BA=90=E4=B8=8D=E7=94=9F=E6=95=88=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../boot/MultiDataSourceAutoConfiguration.java | 15 +++++++++++++++ .../boot/MybatisFlexAutoConfiguration.java | 18 ++++-------------- 2 files changed, 19 insertions(+), 14 deletions(-) diff --git a/mybatis-flex-spring-boot-starter/src/main/java/com/mybatisflex/spring/boot/MultiDataSourceAutoConfiguration.java b/mybatis-flex-spring-boot-starter/src/main/java/com/mybatisflex/spring/boot/MultiDataSourceAutoConfiguration.java index c500d7f3..80d429b2 100644 --- a/mybatis-flex-spring-boot-starter/src/main/java/com/mybatisflex/spring/boot/MultiDataSourceAutoConfiguration.java +++ b/mybatis-flex-spring-boot-starter/src/main/java/com/mybatisflex/spring/boot/MultiDataSourceAutoConfiguration.java @@ -17,8 +17,11 @@ package com.mybatisflex.spring.boot; import com.mybatisflex.core.datasource.DataSourceBuilder; import com.mybatisflex.core.datasource.FlexDataSource; +import com.mybatisflex.spring.datasource.DataSourceAdvice; import org.apache.ibatis.session.SqlSessionFactory; import org.mybatis.spring.SqlSessionFactoryBean; +import org.springframework.aop.Advisor; +import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; @@ -26,6 +29,7 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Role; import javax.sql.DataSource; import java.util.Map; @@ -69,4 +73,15 @@ public class MultiDataSourceAutoConfiguration { return flexDataSource; } + + /** + * {@link com.mybatisflex.annotation.UseDataSource} 注解切换数据源切面。 + */ + @Bean + @ConditionalOnMissingBean + @Role(BeanDefinition.ROLE_INFRASTRUCTURE) + public Advisor dataSourceAdvice() { + return new DataSourceAdvice(); + } + } diff --git a/mybatis-flex-spring-boot-starter/src/main/java/com/mybatisflex/spring/boot/MybatisFlexAutoConfiguration.java b/mybatis-flex-spring-boot-starter/src/main/java/com/mybatisflex/spring/boot/MybatisFlexAutoConfiguration.java index f23626a9..2ea601ec 100644 --- a/mybatis-flex-spring-boot-starter/src/main/java/com/mybatisflex/spring/boot/MybatisFlexAutoConfiguration.java +++ b/mybatis-flex-spring-boot-starter/src/main/java/com/mybatisflex/spring/boot/MybatisFlexAutoConfiguration.java @@ -28,7 +28,6 @@ import com.mybatisflex.core.table.TableManager; import com.mybatisflex.core.tenant.TenantFactory; import com.mybatisflex.core.tenant.TenantManager; import com.mybatisflex.spring.FlexSqlSessionFactoryBean; -import com.mybatisflex.spring.datasource.DataSourceAdvice; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.mapping.DatabaseIdProvider; import org.apache.ibatis.plugin.Interceptor; @@ -42,7 +41,6 @@ import org.mybatis.spring.mapper.MapperFactoryBean; import org.mybatis.spring.mapper.MapperScannerConfigurer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.aop.Advisor; import org.springframework.beans.BeanWrapper; import org.springframework.beans.BeanWrapperImpl; import org.springframework.beans.factory.*; @@ -57,7 +55,10 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnSingleCandi import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.EnvironmentAware; -import org.springframework.context.annotation.*; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; +import org.springframework.context.annotation.ImportBeanDefinitionRegistrar; import org.springframework.core.env.Environment; import org.springframework.core.io.Resource; import org.springframework.core.io.ResourceLoader; @@ -414,15 +415,4 @@ public class MybatisFlexAutoConfiguration implements InitializingBean { } - /** - * {@link com.mybatisflex.annotation.UseDataSource} 注解切换数据源切面。 - */ - @Bean - @ConditionalOnMissingBean - @Role(BeanDefinition.ROLE_INFRASTRUCTURE) - public Advisor dataSourceAdvice() { - return new DataSourceAdvice(); - } - - }