refactor: optimize autoConfiguration

This commit is contained in:
Michael Yang 2024-03-06 15:03:51 +08:00
parent 16620b90ac
commit 47e8979166
2 changed files with 4 additions and 8 deletions

View File

@ -40,16 +40,11 @@ import org.springframework.transaction.annotation.TransactionManagementConfigure
@ConditionalOnClass(Db.class)
@ConditionalOnMissingBean(TransactionManager.class)
@Configuration(proxyBeanMethods = false)
@AutoConfigureOrder(FlexTransactionAutoConfiguration.PRECEDENCE)
@AutoConfigureOrder(Ordered.LOWEST_PRECEDENCE)
@AutoConfigureAfter({MybatisFlexAutoConfiguration.class})
@AutoConfigureBefore({TransactionAutoConfiguration.class, DataSourceTransactionManagerAutoConfiguration.class})
@AutoConfigureBefore(value = {TransactionAutoConfiguration.class, DataSourceTransactionManagerAutoConfiguration.class})
public class FlexTransactionAutoConfiguration implements TransactionManagementConfigurer {
/**
* 优先级
*/
protected static final int PRECEDENCE = Ordered.LOWEST_PRECEDENCE - 10;
/**
* 这里使用 final 修饰属性是因为<br>
* <p>

View File

@ -31,6 +31,7 @@ import org.springframework.boot.autoconfigure.AutoConfigureBefore;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@ -49,7 +50,7 @@ import java.util.Map;
@Configuration(proxyBeanMethods = false)
@EnableConfigurationProperties(MybatisFlexProperties.class)
@ConditionalOnClass({SqlSessionFactory.class, SqlSessionFactoryBean.class})
@AutoConfigureBefore(value = DataSourceAutoConfiguration.class
@AutoConfigureBefore(value = {DataSourceAutoConfiguration.class, DataSourceTransactionManagerAutoConfiguration.class}
, name = {"com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure",
"com.alibaba.druid.spring.boot3.autoconfigure.DataSourceAutoConfiguration"})
public class MultiDataSourceAutoConfiguration {