mirror of
https://gitee.com/mybatis-flex/mybatis-flex.git
synced 2025-12-07 00:58:24 +08:00
feat: 逻辑删除处理器添加对 Spring @Configuration 自动配置的支持
This commit is contained in:
parent
037f0efc78
commit
787a832dab
@ -180,3 +180,21 @@ public interface LogicDeleteProcessor {
|
||||
```
|
||||
|
||||
具体实现可以参考:[DefaultLogicDeleteProcessorImpl](https://gitee.com/mybatis-flex/mybatis-flex/blob/main/mybatis-flex-core/src/main/java/com/mybatisflex/core/logicdelete/DefaultLogicDeleteProcessorImpl.java)
|
||||
|
||||
|
||||
## SpringBoot 支持
|
||||
|
||||
在 SpringBoot 项目下,直接通过 `@Configuration` 即可使用:
|
||||
|
||||
```java
|
||||
@Configuration
|
||||
public class MyConfiguration {
|
||||
|
||||
@Bean
|
||||
public LogicDeleteProcessor logicDeleteProcessor(){
|
||||
LogicDeleteProcessor processor = new ....;
|
||||
return processor;
|
||||
}
|
||||
|
||||
}
|
||||
```
|
||||
@ -18,6 +18,8 @@ package com.mybatisflex.spring.boot;
|
||||
import com.mybatisflex.core.FlexGlobalConfig;
|
||||
import com.mybatisflex.core.datasource.DataSourceDecipher;
|
||||
import com.mybatisflex.core.datasource.DataSourceManager;
|
||||
import com.mybatisflex.core.logicdelete.LogicDeleteManager;
|
||||
import com.mybatisflex.core.logicdelete.LogicDeleteProcessor;
|
||||
import com.mybatisflex.core.mybatis.FlexConfiguration;
|
||||
import com.mybatisflex.core.table.DynamicSchemaProcessor;
|
||||
import com.mybatisflex.core.table.DynamicTableProcessor;
|
||||
@ -121,6 +123,9 @@ public class MybatisFlexAutoConfiguration implements InitializingBean {
|
||||
//多租户
|
||||
protected final TenantFactory tenantFactory;
|
||||
|
||||
//自定义逻辑删除处理器
|
||||
protected final LogicDeleteProcessor logicDeleteProcessor;
|
||||
|
||||
//初始化监听
|
||||
protected final MyBatisFlexInitializer myBatisFlexInitializer;
|
||||
|
||||
@ -134,6 +139,7 @@ public class MybatisFlexAutoConfiguration implements InitializingBean {
|
||||
ObjectProvider<DynamicTableProcessor> dynamicTableProcessorProvider,
|
||||
ObjectProvider<DynamicSchemaProcessor> dynamicSchemaProcessorProvider,
|
||||
ObjectProvider<TenantFactory> tenantFactoryProvider,
|
||||
ObjectProvider<LogicDeleteProcessor> logicDeleteProcessorProvider,
|
||||
ObjectProvider<MyBatisFlexInitializer> myBatisFlexInitializerProvider
|
||||
) {
|
||||
this.properties = properties;
|
||||
@ -155,6 +161,9 @@ public class MybatisFlexAutoConfiguration implements InitializingBean {
|
||||
//多租户
|
||||
this.tenantFactory = tenantFactoryProvider.getIfAvailable();
|
||||
|
||||
//逻辑删除处理器
|
||||
this.logicDeleteProcessor = logicDeleteProcessorProvider.getIfAvailable();
|
||||
|
||||
//初始化监听器
|
||||
this.myBatisFlexInitializer = myBatisFlexInitializerProvider.getIfAvailable();
|
||||
}
|
||||
@ -182,6 +191,11 @@ public class MybatisFlexAutoConfiguration implements InitializingBean {
|
||||
TenantManager.setTenantFactory(tenantFactory);
|
||||
}
|
||||
|
||||
//逻辑删除处理器
|
||||
if (logicDeleteProcessor != null) {
|
||||
LogicDeleteManager.setProcessor(logicDeleteProcessor);
|
||||
}
|
||||
|
||||
//初始化监听器
|
||||
if (myBatisFlexInitializer != null) {
|
||||
myBatisFlexInitializer.onInitBefore();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user