Class R2dbcMybatisAutoConfiguration
java.lang.Object
pro.chenggang.project.reactive.mybatis.support.r2dbc.spring.configuration.R2dbcMybatisAutoConfiguration
@Configuration
@AutoConfigureBefore({org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration.class,org.springframework.boot.autoconfigure.r2dbc.R2dbcAutoConfiguration.class})
@AutoConfigureAfter(MybatisLanguageDriverAutoConfiguration.class)
@ConditionalOnClass({io.r2dbc.spi.ConnectionFactory.class,pro.chenggang.project.reactive.mybatis.support.r2dbc.ReactiveSqlSessionFactory.class,reactor.core.publisher.Flux.class})
public class R2dbcMybatisAutoConfiguration
extends Object
R2dbc Mybatis Auto Configuration
- Since:
- 1.0.0
- Version:
- 1.0.3
- Author:
- Gang Cheng
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classThis will just scan the same base package as Spring Boot does.static classIf mapper registering configuration or mapper scanning configuration not present, this configuration allow to scan mappers based on the same component-scanning path as Spring Boot itself. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionconfiguration(io.r2dbc.spi.ConnectionFactory connectionFactory, R2dbcMybatisProperties r2dbcMybatisProperties, org.springframework.beans.factory.ObjectProvider<org.apache.ibatis.type.TypeHandler<?>> typeHandlerProvider, org.springframework.beans.factory.ObjectProvider<R2dbcMybatisConfigurationCustomizer> configurationCustomizerProvider, org.springframework.beans.factory.ObjectProvider<R2dbcTypeHandlerAdapter<?>> r2dbcTypeHandlerAdapterProvider, org.springframework.beans.factory.ObjectProvider<MybatisTypeHandlerConverter> mybatisTypeHandlerConverterObjectProvider, org.springframework.beans.factory.ObjectProvider<org.apache.ibatis.scripting.LanguageDriver> languageDriversProvider, org.springframework.beans.factory.ObjectProvider<R2dbcDatabaseIdProvider> databaseIdProviderObjectProvider) io.r2dbc.pool.ConnectionPoolconnectionFactory(R2dbcMybatisConnectionFactoryProperties r2dbcMybatisConnectionFactoryProperties, org.springframework.beans.factory.ObjectProvider<ConnectionFactoryOptionsCustomizer> connectionFactoryOptionsCustomizerProvider) Connection factory connection pool.org.springframework.r2dbc.connection.R2dbcTransactionManagerconnectionFactoryTransactionManager(io.r2dbc.spi.ConnectionFactory connectionFactory) R2dbc connection factory properties r2dbc mybatis connection factory properties.
-
Constructor Details
-
R2dbcMybatisAutoConfiguration
public R2dbcMybatisAutoConfiguration()
-
-
Method Details
-
r2dbcConnectionFactoryProperties
@ConfigurationProperties("spring.r2dbc.mybatis") @Bean public R2dbcMybatisConnectionFactoryProperties r2dbcConnectionFactoryProperties()R2dbc connection factory properties r2dbc mybatis connection factory properties.- Returns:
- the r2dbc mybatis connection factory properties
-
connectionFactory
@ConditionalOnProperty(value="spring.r2dbc.mybatis.routing.enabled", havingValue="false", matchIfMissing=true) @ConditionalOnMissingBean(io.r2dbc.spi.ConnectionFactory.class) @Bean(destroyMethod="dispose") public io.r2dbc.pool.ConnectionPool connectionFactory(R2dbcMybatisConnectionFactoryProperties r2dbcMybatisConnectionFactoryProperties, org.springframework.beans.factory.ObjectProvider<ConnectionFactoryOptionsCustomizer> connectionFactoryOptionsCustomizerProvider) Connection factory connection pool.- Parameters:
r2dbcMybatisConnectionFactoryProperties- the r2dbc mybatis connection factory propertiesconnectionFactoryOptionsCustomizerProvider- the connection factory options customizer object provider- Returns:
- the connection pool
-
r2dbcMybatisProperties
@ConfigurationProperties("r2dbc.mybatis") @Bean public R2dbcMybatisProperties r2dbcMybatisProperties() -
configuration
@Bean public R2dbcMybatisConfiguration configuration(io.r2dbc.spi.ConnectionFactory connectionFactory, R2dbcMybatisProperties r2dbcMybatisProperties, org.springframework.beans.factory.ObjectProvider<org.apache.ibatis.type.TypeHandler<?>> typeHandlerProvider, org.springframework.beans.factory.ObjectProvider<R2dbcMybatisConfigurationCustomizer> configurationCustomizerProvider, org.springframework.beans.factory.ObjectProvider<R2dbcTypeHandlerAdapter<?>> r2dbcTypeHandlerAdapterProvider, org.springframework.beans.factory.ObjectProvider<MybatisTypeHandlerConverter> mybatisTypeHandlerConverterObjectProvider, org.springframework.beans.factory.ObjectProvider<org.apache.ibatis.scripting.LanguageDriver> languageDriversProvider, org.springframework.beans.factory.ObjectProvider<R2dbcDatabaseIdProvider> databaseIdProviderObjectProvider) throws Exception - Throws:
Exception
-
connectionFactoryTransactionManager
@Bean @ConditionalOnMissingBean(org.springframework.transaction.ReactiveTransactionManager.class) public org.springframework.r2dbc.connection.R2dbcTransactionManager connectionFactoryTransactionManager(io.r2dbc.spi.ConnectionFactory connectionFactory) -
reactiveSqlSessionFactoryWithTransaction
@Bean @ConditionalOnMissingBean(pro.chenggang.project.reactive.mybatis.support.r2dbc.ReactiveSqlSessionFactory.class) public ReactiveSqlSessionFactory reactiveSqlSessionFactoryWithTransaction(R2dbcMybatisConfiguration configuration)
-