!425 FlexTransactionAutoConfiguration 配置优先级修改

Merge pull request !425 from witt/fix_I930JB
This commit is contained in:
Michael Yang 2024-02-26 01:18:29 +00:00 committed by Gitee
commit c36fc5b002
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F

View File

@ -19,12 +19,17 @@ import com.mybatisflex.core.row.Db;
import com.mybatisflex.spring.FlexTransactionManager; import com.mybatisflex.spring.FlexTransactionManager;
import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.AutoConfigureBefore;
import org.springframework.boot.autoconfigure.AutoConfigureOrder;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration;
import org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration; import org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.core.Ordered;
import org.springframework.lang.NonNull; import org.springframework.lang.NonNull;
import org.springframework.transaction.PlatformTransactionManager; import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.TransactionManager;
import org.springframework.transaction.annotation.TransactionManagementConfigurer; import org.springframework.transaction.annotation.TransactionManagementConfigurer;
/** /**
@ -33,11 +38,18 @@ import org.springframework.transaction.annotation.TransactionManagementConfigure
* @author michael * @author michael
*/ */
@ConditionalOnClass(Db.class) @ConditionalOnClass(Db.class)
@ConditionalOnMissingBean(TransactionManager.class)
@Configuration(proxyBeanMethods = false) @Configuration(proxyBeanMethods = false)
@AutoConfigureOrder(FlexTransactionAutoConfiguration.PRECEDENCE)
@AutoConfigureAfter({MybatisFlexAutoConfiguration.class}) @AutoConfigureAfter({MybatisFlexAutoConfiguration.class})
@AutoConfigureBefore({TransactionAutoConfiguration.class}) @AutoConfigureBefore({TransactionAutoConfiguration.class, DataSourceTransactionManagerAutoConfiguration.class})
public class FlexTransactionAutoConfiguration implements TransactionManagementConfigurer { public class FlexTransactionAutoConfiguration implements TransactionManagementConfigurer {
/**
* 优先级
*/
protected static final int PRECEDENCE = Ordered.LOWEST_PRECEDENCE - 10;
/** /**
* 这里使用 final 修饰属性是因为<br> * 这里使用 final 修饰属性是因为<br>
* <p> * <p>