Skip to content

spring版本升级

这里记录spring版本升级的一些坑

一、springboot

二、springboot2.2.x --> springboot2.3.x

2.1 shrding-jdbc

这里对分库分表shrding-jdbc有影响,spring2.3.x加入了启动健康检查。需要增加配置

@Configuration
public class DataSourceHealthConfig extends DataSourceHealthContributorAutoConfiguration {

    @Value("${spring.datasource.dbcp2.validation-query:select 1}")
    private String defaultQuery;

    public DataSourceHealthConfig(Map<String,DataSource> dataSources,ObjectProvider<DataSourcePoolMetadataProvider> metadataProviders){
        super(dataSources,metadataProviders);
    }

    @Override
    protected AbstractHealthIndicator createIndicator(DataSource source){
        DataSourceHealthIndicator indicator = (DataSourceHealthIndicator)super.createIndicator(source);
        if (!StringUtils.hasText(indicator.getQuery())) {
            indicator.setQuery(defaultQuery);
        }
        return indicator;
    }
}

三、springboot2.3.x --> springboot2.4.x

3.1 junit

在spring2.4以前需要@RunWith注解才能在做junit测试的时候启动项目

@RunWith(SpringRunner.class)
@SpringBootTest(classes = ProjectApplication.class)

在2.4以后,junit5移除了这个注解,只需要@SpringBootTest

@SpringBootTest(classes = ProjectApplication.class)

四、springboot2.6.x