diff --git a/spring-boot-starter/src/main/java/com/jmsoftware/maf/springbootstarter/MafAutoConfiguration.java b/spring-boot-starter/src/main/java/com/jmsoftware/maf/springbootstarter/MafAutoConfiguration.java index ca51fd3f..fbe6661c 100644 --- a/spring-boot-starter/src/main/java/com/jmsoftware/maf/springbootstarter/MafAutoConfiguration.java +++ b/spring-boot-starter/src/main/java/com/jmsoftware/maf/springbootstarter/MafAutoConfiguration.java @@ -9,7 +9,6 @@ import com.jmsoftware.maf.springbootstarter.controller.GlobalErrorController; import com.jmsoftware.maf.springbootstarter.controller.HttpApiResourceRemoteApiController; import com.jmsoftware.maf.springbootstarter.controller.RedirectController; -import com.jmsoftware.maf.springbootstarter.database.DruidConfiguration; import com.jmsoftware.maf.springbootstarter.database.MyBatisPlusConfiguration; import com.jmsoftware.maf.springbootstarter.filter.AccessLogFilter; import com.jmsoftware.maf.springbootstarter.helper.HttpApiScanHelper; @@ -37,6 +36,7 @@ import org.springframework.cloud.client.loadbalancer.LoadBalanced; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; import org.springframework.core.env.Environment; import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.expression.common.LiteralExpression; @@ -48,7 +48,6 @@ import org.springframework.integration.sftp.session.DefaultSftpSessionFactory; import org.springframework.integration.sftp.session.SftpRemoteFileTemplate; import org.springframework.messaging.MessageHandler; -import org.springframework.security.authentication.AuthenticationManager; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.web.client.RestTemplate; import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping; @@ -72,6 +71,7 @@ @ConditionalOnWebApplication @AutoConfigureOrder(Integer.MIN_VALUE) @EnableConfigurationProperties(MafConfiguration.class) +@Import({MyBatisPlusConfiguration.class}) public class MafAutoConfiguration { @PostConstruct public void postConstruct() { @@ -196,18 +196,6 @@ public JwtConfiguration jwtConfiguration(MafProjectProperty mafProjectProperty) return new JwtConfiguration(mafProjectProperty); } - @Bean - public DruidConfiguration druidConfiguration(MafConfiguration mafConfiguration) { - log.warn("Initial bean: '{}'", DruidConfiguration.class.getSimpleName()); - return new DruidConfiguration(mafConfiguration); - } - - @Bean - public MyBatisPlusConfiguration myBatisPlusConfiguration() { - log.warn("Initial bean: '{}'", MyBatisPlusConfiguration.class.getSimpleName()); - return new MyBatisPlusConfiguration(); - } - @Bean public RedisCachingConfiguration redisCachingConfiguration(RedisConnectionFactory redisConnectionFactory) { log.warn("Initial bean: '{}'", RedisCachingConfiguration.class.getSimpleName()); diff --git a/spring-boot-starter/src/main/java/com/jmsoftware/maf/springbootstarter/database/DruidConfiguration.java b/spring-boot-starter/src/main/java/com/jmsoftware/maf/springbootstarter/database/DruidConfiguration.java deleted file mode 100644 index 796a0a97..00000000 --- a/spring-boot-starter/src/main/java/com/jmsoftware/maf/springbootstarter/database/DruidConfiguration.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.jmsoftware.maf.springbootstarter.database; - -import com.alibaba.druid.pool.DruidDataSource; -import com.alibaba.druid.support.http.StatViewServlet; -import com.alibaba.druid.support.http.WebStatFilter; -import com.jmsoftware.maf.springbootstarter.configuration.MafConfiguration; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import lombok.val; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.boot.web.servlet.FilterRegistrationBean; -import org.springframework.boot.web.servlet.ServletRegistrationBean; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -import javax.sql.DataSource; - -/** - *
- * Druid Configuration
- * Click me to view Druid Monitor
- *
- * @author Johnny Miller (锺俊), email: johnnysviva@outlook.com
- * @date 2019-03-24 13:31
- **/
-@Slf4j
-@Configuration
-@RequiredArgsConstructor
-public class DruidConfiguration {
- private final MafConfiguration mafConfiguration;
-
- @Bean
- public ServletRegistrationBean
- * Change description here.
- *
+ * Description: MyBatisPlusConfiguration, change description here.
*
- * @author Johnny Miller (锺俊), email: johnnysviva@outlook.com
- * @date 2019-05-02 11:57
+ * @author 钟俊(zhongjun), email: zhongjun@toguide.cn, date: 1/29/2021 1:30 PM
**/
@Slf4j
@Configuration
@EnableTransactionManagement
-public class MyBatisPlusConfiguration implements MetaObjectHandler {
+public class MyBatisPlusConfiguration {
@Bean
public PaginationInnerInterceptor paginationInnerInterceptor() {
+ log.warn("Initial bean: '{}'", PaginationInnerInterceptor.class.getSimpleName());
val paginationInnerInterceptor = new PaginationInnerInterceptor(DbType.MYSQL);
paginationInnerInterceptor.setMaxLimit(100L);
return paginationInnerInterceptor;
@@ -38,11 +30,13 @@ public PaginationInnerInterceptor paginationInnerInterceptor() {
@Bean
public BlockAttackInnerInterceptor blockAttackInnerInterceptor() {
+ log.warn("Initial bean: '{}'", BlockAttackInnerInterceptor.class.getSimpleName());
return new BlockAttackInnerInterceptor();
}
@Bean
public ConfigurationCustomizer configurationCustomizer() {
+ log.warn("Initial bean: '{}'", ConfigurationCustomizer.class.getSimpleName());
// 新的分页插件,一缓和二缓遵循 MyBatis 的规则。
// 需要设置 MybatisConfiguration#useDeprecatedExecutor = false 避免缓存出现问题(该属性会在旧插件移除后一同移除)
return configuration -> configuration.setUseDeprecatedExecutor(false);
@@ -59,24 +53,16 @@ public ConfigurationCustomizer configurationCustomizer() {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor(PaginationInnerInterceptor paginationInnerInterceptor,
BlockAttackInnerInterceptor blockAttackInnerInterceptor) {
+ log.warn("Initial bean: '{}'", MybatisPlusInterceptor.class.getSimpleName());
MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
mybatisPlusInterceptor.addInnerInterceptor(paginationInnerInterceptor);
mybatisPlusInterceptor.addInnerInterceptor(blockAttackInnerInterceptor);
return mybatisPlusInterceptor;
}
- @Override
- public void insertFill(MetaObject metaObject) {
- log.info("Start to insert fill ....");
- val now = new Date();
- this.strictInsertFill(metaObject, "deleted", Byte.class, DeleteFlag.NOT_DELETED.getValue());
- this.strictInsertFill(metaObject, "createdTime", Date.class, now);
- this.strictInsertFill(metaObject, "modifiedTime", Date.class, now);
- }
-
- @Override
- public void updateFill(MetaObject metaObject) {
- log.info("Start to update fill ....");
- this.strictUpdateFill(metaObject, "modifiedTime", Date.class, new Date());
+ @Bean
+ public MyBatisPlusMetaObjectHandler myBatisPlusConfiguration() {
+ log.warn("Initial bean: '{}'", MyBatisPlusMetaObjectHandler.class.getSimpleName());
+ return new MyBatisPlusMetaObjectHandler();
}
}
diff --git a/spring-boot-starter/src/main/java/com/jmsoftware/maf/springbootstarter/database/MyBatisPlusMetaObjectHandler.java b/spring-boot-starter/src/main/java/com/jmsoftware/maf/springbootstarter/database/MyBatisPlusMetaObjectHandler.java
new file mode 100644
index 00000000..bf9ccb4f
--- /dev/null
+++ b/spring-boot-starter/src/main/java/com/jmsoftware/maf/springbootstarter/database/MyBatisPlusMetaObjectHandler.java
@@ -0,0 +1,47 @@
+package com.jmsoftware.maf.springbootstarter.database;
+
+import com.baomidou.mybatisplus.annotation.DbType;
+import com.baomidou.mybatisplus.autoconfigure.ConfigurationCustomizer;
+import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
+import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
+import com.baomidou.mybatisplus.extension.plugins.inner.BlockAttackInnerInterceptor;
+import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
+import com.jmsoftware.maf.common.domain.DeleteFlag;
+import com.jmsoftware.maf.springbootstarter.configuration.MafConfiguration;
+import lombok.extern.slf4j.Slf4j;
+import lombok.val;
+import org.apache.ibatis.reflection.MetaObject;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+import java.util.Date;
+
+/**
+ *
+ * Change description here.
+ *
+ *
+ * @author Johnny Miller (锺俊), email: johnnysviva@outlook.com
+ * @date 2019-05-02 11:57
+ **/
+@Slf4j
+@Component
+public class MyBatisPlusMetaObjectHandler implements MetaObjectHandler {
+ @Override
+ public void insertFill(MetaObject metaObject) {
+ log.info("Start to insert fill ....");
+ val now = new Date();
+ this.strictInsertFill(metaObject, "deleted", Byte.class, DeleteFlag.NOT_DELETED.getValue());
+ this.strictInsertFill(metaObject, "createdTime", Date.class, now);
+ this.strictInsertFill(metaObject, "modifiedTime", Date.class, now);
+ }
+
+ @Override
+ public void updateFill(MetaObject metaObject) {
+ log.info("Start to update fill ....");
+ this.strictUpdateFill(metaObject, "modifiedTime", Date.class, new Date());
+ }
+}
MyBatisPlusConfiguration
- * MyBatisPlusConfiguration
+ *