Bladeren bron

升级支持spring-boot-3.0

miemie 2 jaren geleden
bovenliggende
commit
07c39697c9

+ 3 - 2
build.gradle

@@ -15,7 +15,8 @@ ext {
         mybatisSpringVersion = '2.0.7',
         mybatisSpringBootStarterVersion = '2.2.2',
         springVersion = '5.3.15',
-        springBootVersion = '2.5.3',
+        springBootVersion = '2.6.3',
+        springCloudVersion = '3.1.1',
         jsqlparserVersion = '4.4', // 4.5 有bug
         junitVersion = '5.9.0',
     ]
@@ -37,7 +38,7 @@ ext {
         "aspectjrt"                  : "org.aspectj:aspectjrt:1.9.9.1",
         "cglib"                      : "cglib:cglib:3.3.0",
         "imadcn"                     : "com.imadcn.framework:idworker:1.5.0",
-        "spring-cloud-commons"       : "org.springframework.cloud:spring-cloud-commons:3.0.3",
+        "spring-cloud-commons"       : "org.springframework.cloud:spring-cloud-commons:${springCloudVersion}",
 
         "javax.servlet-api"          : "javax.servlet:javax.servlet-api:4.0.1",
         "aspectjweaver"              : "org.aspectj:aspectjweaver:1.9.9.1",

+ 1 - 0
mybatis-plus-boot-starter-test/src/main/resources/META-INF/spring.factories

@@ -7,5 +7,6 @@ org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration,\
 org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration,\
 org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration,\
 org.springframework.boot.autoconfigure.sql.init.SqlInitializationAutoConfiguration,\
+com.baomidou.mybatisplus.autoconfigure.IdentifierGeneratorAutoConfiguration,\
 com.baomidou.mybatisplus.autoconfigure.MybatisPlusLanguageDriverAutoConfiguration,\
 com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration

+ 1 - 0
mybatis-plus-boot-starter-test/src/main/resources/META-INF/spring/com.baomidou.mybatisplus.test.autoconfigure.AutoConfigureMybatisPlus.imports

@@ -6,5 +6,6 @@ org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration
 org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration
 org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration
 org.springframework.boot.autoconfigure.sql.init.SqlInitializationAutoConfiguration
+com.baomidou.mybatisplus.autoconfigure.IdentifierGeneratorAutoConfiguration
 com.baomidou.mybatisplus.autoconfigure.MybatisPlusLanguageDriverAutoConfiguration
 com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration

+ 1 - 0
mybatis-plus-boot-starter/build.gradle

@@ -13,6 +13,7 @@ dependencies {
     implementation "${lib.'spring-cloud-commons'}"
     testImplementation "org.springframework.boot:spring-boot-starter-test"
     testImplementation "${lib.'mybatis-spring-boot-starter'}"
+    testImplementation "${lib.h2}"
 }
 
 compileJava.dependsOn(processResources)

+ 7 - 9
mybatis-plus-boot-starter/src/main/java/com/baomidou/mybatisplus/autoconfigure/IdentifierGeneratorAutoConfiguration.java

@@ -17,6 +17,7 @@ package com.baomidou.mybatisplus.autoconfigure;
 
 import com.baomidou.mybatisplus.core.incrementer.DefaultIdentifierGenerator;
 import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
 import org.springframework.cloud.commons.util.InetUtils;
@@ -29,17 +30,14 @@ import org.springframework.context.annotation.Lazy;
  * @since 3.4.3
  */
 @Lazy
+@ConditionalOnClass(InetUtils.class)
+@ConditionalOnBean(InetUtils.class)
 @Configuration(proxyBeanMethods = false)
 public class IdentifierGeneratorAutoConfiguration {
 
-    @Configuration(proxyBeanMethods = false)
-    @ConditionalOnClass(InetUtils.class)
-    public static class InetUtilsAutoConfig {
-
-        @Bean
-        @ConditionalOnMissingBean
-        public IdentifierGenerator identifierGenerator(InetUtils inetUtils) {
-            return new DefaultIdentifierGenerator(inetUtils.findFirstNonLoopbackAddress());
-        }
+    @Bean
+    @ConditionalOnMissingBean
+    public IdentifierGenerator identifierGenerator(InetUtils inetUtils) {
+        return new DefaultIdentifierGenerator(inetUtils.findFirstNonLoopbackAddress());
     }
 }

+ 27 - 0
mybatis-plus-boot-starter/src/test/java/com/baomidou/mybatisplus/autoconfigure/ApplicationTestStartSuccess.java

@@ -0,0 +1,27 @@
+package com.baomidou.mybatisplus.autoconfigure;
+
+import com.baomidou.mybatisplus.core.config.GlobalConfig;
+import com.baomidou.mybatisplus.core.toolkit.GlobalConfigUtils;
+import org.apache.ibatis.session.Configuration;
+import org.apache.ibatis.session.SqlSessionFactory;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.context.ConfigurableApplicationContext;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+/**
+ * @author miemie
+ * @since 2022-11-29
+ */
+@SpringBootApplication
+public class ApplicationTestStartSuccess {
+
+    public static void main(String[] args) {
+        ConfigurableApplicationContext context = SpringApplication.run(ApplicationTestStartSuccess.class, args);
+        SqlSessionFactory bean = context.getBean(SqlSessionFactory.class);
+        Configuration configuration = bean.getConfiguration();
+        GlobalConfig config = GlobalConfigUtils.getGlobalConfig(configuration);
+        assertThat(config.getIdentifierGenerator()).isNotNull();
+    }
+}

+ 5 - 0
mybatis-plus-boot-starter/src/test/resources/application.yml

@@ -0,0 +1,5 @@
+spring:
+    datasource:
+        driver-class-name: org.h2.Driver
+        url: jdbc:h2:mem:test;MODE=mysql;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE
+        username: sa