mirror of
https://gitee.com/mybatis-flex/mybatis-flex.git
synced 2025-12-07 09:08: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)
|
具体实现可以参考:[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.FlexGlobalConfig;
|
||||||
import com.mybatisflex.core.datasource.DataSourceDecipher;
|
import com.mybatisflex.core.datasource.DataSourceDecipher;
|
||||||
import com.mybatisflex.core.datasource.DataSourceManager;
|
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.mybatis.FlexConfiguration;
|
||||||
import com.mybatisflex.core.table.DynamicSchemaProcessor;
|
import com.mybatisflex.core.table.DynamicSchemaProcessor;
|
||||||
import com.mybatisflex.core.table.DynamicTableProcessor;
|
import com.mybatisflex.core.table.DynamicTableProcessor;
|
||||||
@ -121,6 +123,9 @@ public class MybatisFlexAutoConfiguration implements InitializingBean {
|
|||||||
//多租户
|
//多租户
|
||||||
protected final TenantFactory tenantFactory;
|
protected final TenantFactory tenantFactory;
|
||||||
|
|
||||||
|
//自定义逻辑删除处理器
|
||||||
|
protected final LogicDeleteProcessor logicDeleteProcessor;
|
||||||
|
|
||||||
//初始化监听
|
//初始化监听
|
||||||
protected final MyBatisFlexInitializer myBatisFlexInitializer;
|
protected final MyBatisFlexInitializer myBatisFlexInitializer;
|
||||||
|
|
||||||
@ -134,6 +139,7 @@ public class MybatisFlexAutoConfiguration implements InitializingBean {
|
|||||||
ObjectProvider<DynamicTableProcessor> dynamicTableProcessorProvider,
|
ObjectProvider<DynamicTableProcessor> dynamicTableProcessorProvider,
|
||||||
ObjectProvider<DynamicSchemaProcessor> dynamicSchemaProcessorProvider,
|
ObjectProvider<DynamicSchemaProcessor> dynamicSchemaProcessorProvider,
|
||||||
ObjectProvider<TenantFactory> tenantFactoryProvider,
|
ObjectProvider<TenantFactory> tenantFactoryProvider,
|
||||||
|
ObjectProvider<LogicDeleteProcessor> logicDeleteProcessorProvider,
|
||||||
ObjectProvider<MyBatisFlexInitializer> myBatisFlexInitializerProvider
|
ObjectProvider<MyBatisFlexInitializer> myBatisFlexInitializerProvider
|
||||||
) {
|
) {
|
||||||
this.properties = properties;
|
this.properties = properties;
|
||||||
@ -155,6 +161,9 @@ public class MybatisFlexAutoConfiguration implements InitializingBean {
|
|||||||
//多租户
|
//多租户
|
||||||
this.tenantFactory = tenantFactoryProvider.getIfAvailable();
|
this.tenantFactory = tenantFactoryProvider.getIfAvailable();
|
||||||
|
|
||||||
|
//逻辑删除处理器
|
||||||
|
this.logicDeleteProcessor = logicDeleteProcessorProvider.getIfAvailable();
|
||||||
|
|
||||||
//初始化监听器
|
//初始化监听器
|
||||||
this.myBatisFlexInitializer = myBatisFlexInitializerProvider.getIfAvailable();
|
this.myBatisFlexInitializer = myBatisFlexInitializerProvider.getIfAvailable();
|
||||||
}
|
}
|
||||||
@ -182,6 +191,11 @@ public class MybatisFlexAutoConfiguration implements InitializingBean {
|
|||||||
TenantManager.setTenantFactory(tenantFactory);
|
TenantManager.setTenantFactory(tenantFactory);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//逻辑删除处理器
|
||||||
|
if (logicDeleteProcessor != null) {
|
||||||
|
LogicDeleteManager.setProcessor(logicDeleteProcessor);
|
||||||
|
}
|
||||||
|
|
||||||
//初始化监听器
|
//初始化监听器
|
||||||
if (myBatisFlexInitializer != null) {
|
if (myBatisFlexInitializer != null) {
|
||||||
myBatisFlexInitializer.onInitBefore();
|
myBatisFlexInitializer.onInitBefore();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user